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

时间:2012-06-07 16:48:12

标签: ruby-on-rails haml erb

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

例如,我粘贴了一些html代码,并且只想测试代码而不用HAML抱怨它的格式。

知道怎么做吗?

3 个答案:

答案 0 :(得分:3)

做类似的事情:

if params[:render_erb]
  render 'file.html.erb'
else
  render 'file.html.haml'
end

并使用?render_erb = true

调用该操作

render "file.html.#{params[:render]}" ir params[:render]

并调用它?render = haml或?render = erb(或者没有,它将使用默认值

在您正在使用的控制器操作结束时

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以在同一个应用程序中使用不同的模板,并且可以为视图partialslayouts使用不同的模板引擎,但据我所知,您无法进出同一模板文件中的多个模板引擎。

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