似乎渲染方法已经改变。 在视图中我曾经能够做到以下几点:
= render :layout => 'some_layout' do
some stuff to be rendered
似乎最好的解决方法是将内容移动到局部并调用布局
= render :partial => 'some stuff to be rendered', :layout => 'some_layout'
我只是想知道是否有人遇到过此问题以及是否是错误或预期的更改?
修改
使用布局内联渲染块。在http://api.rubyonrails.org/classes/ActionView/Partials.html
的任何模板中查看有关将布局应用于块的部分我遇到的问题是最新版本的HAML无法正确呈现嵌套渲染调用。 https://github.com/nex3/haml/issues/412
答案 0 :(得分:0)
在您的帖子中,您似乎正在尝试在视图中执行此操作。
您是否可能会混淆ActionController
的渲染和ActionView
的渲染?查看@ 2.3.8和API的API文档3.x,在:layout
的渲染中似乎没有ActionView
选项。
更新
实际上,我可能已经离开了基地。似乎有一个:inline
选项,如here所述。
渲染(options = {},locals = {},& block)
返回a的结果 渲染由选项哈希决定。主要选项是:
- :partial - 请参阅ActionView :: Partials。
- :update - 使用给定的块调用update_page。
- :file - 呈现显式模板文件(以前是旧的默认模板),添加:locals以传递这些文件。
- :内联 - 呈现内联模板,类似于在控制器中完成的模式。
- :text - 呈现传入的文本。
答案 1 :(得分:0)
这已在最新版本的HAML v3.1.3
中修复