Ruby on rails 如何在rails中动态更改格式渲染引擎?

Ruby on rails 如何在rails中动态更改格式渲染引擎?,ruby-on-rails,haml,erb,Ruby On Rails,Haml,Erb,我的默认模板引擎是haml,但如果我指定了一个特定的参数,我有时会将其更改为erb 例如,我正在粘贴一些html代码,只想测试代码,而不让HAML抱怨其格式 你知道怎么做吗?我错了吗,你只需要将文件保存为你的文件.html.erb而不是你的文件.html.haml?我错了吗,你只需要将文件保存为你的文件.html.erb而不是你的文件.html.haml应用程序,您可以对视图和使用不同的模板引擎,但据我所知,您不能在同一模板文件中进出多个模板引擎 如果您只想使用不同的模板语言插入一些代码,那么我

我的默认模板引擎是haml,但如果我指定了一个特定的参数,我有时会将其更改为erb

例如,我正在粘贴一些html代码,只想测试代码,而不让HAML抱怨其格式


你知道怎么做吗?

我错了吗,你只需要将文件保存为
你的文件.html.erb
而不是
你的文件.html.haml

我错了吗,你只需要将文件保存为
你的文件.html.erb
而不是
你的文件.html.haml
应用程序,您可以对视图和使用不同的模板引擎,但据我所知,您不能在同一模板文件中进出多个模板引擎


如果您只想使用不同的模板语言插入一些代码,那么我会将其放在单独的部分中。在这种情况下,这似乎是最简单的。

您可以在同一个应用程序中使用不同的模板,也可以使用不同的模板引擎进行查看,但据我所知,您不能在同一个模板文件中插入或退出多个模板引擎

如果您只想使用不同的模板语言插入一些代码,那么我会将其放在单独的部分中。在这种情况下,这似乎是最简单的方法。

执行以下操作:

if params[:render_erb]
  render 'file.html.erb'
else
  render 'file.html.haml'
end
并使用?render_erb=true调用该操作

并将其命名为?render=haml或?render=erb(或nothing),它将使用默认值

在您正在使用的控制器操作结束时,执行以下操作:

if params[:render_erb]
  render 'file.html.erb'
else
  render 'file.html.haml'
end
并使用?render_erb=true调用该操作

并将其命名为?render=haml或?render=erb(或nothing),它将使用默认值


在控制器的动作结束时,你使用的是相关问题:,。相关问题:,。我这样做了,但现在它每次都会提取我的erb,我希望那部分是有条件的…如果X使用HAML,否则使用erb??我这样做了,但现在它每次都提取我的erb,我希望那部分是有条件的…如果X使用HAML,否则使用ERB??我尝试了这个,但它从未切换到haml版本…呈现“connect.html.erb”或呈现“connect.html.haml”我认为它必须是render:file=>'/path/to/file',请注意,它需要一个绝对系统路径而不是相对路径,您还必须指定:layout=>true!如果您是正确的,请编辑上面的答案以获得:file=>“”:file=>和绝对路径取决于您要呈现的文件,请选中此处我尝试了此操作,但它从未切换到haml版本…呈现“connect.html.erb”或呈现“connect.html.haml”我认为它必须是render:file=>'/path/to/file',请注意,它需要一个绝对系统路径而不是相对路径,您还必须指定:layout=>true!如果您是正确的,请编辑上面的答案以获得:file=>“”:file=>和绝对路径取决于您要渲染的文件,请检查此处我不是指在同一模板文件中使用不同的引擎,我只是想在控制器中输入一个条件,即“使用erb版本”或“使用haml版本”我不是指在同一模板文件中使用不同的引擎,我只是想在控制器中输入一个条件,说明“使用erb版本”或“使用haml版本”