Rails> = 3.0.8渲染内联代码,布局不起作用

时间:2011-07-12 23:14:30

标签: ruby-on-rails ruby-on-rails-3 haml

似乎渲染方法已经改变。 在视图中我曾经能够做到以下几点:

= 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

2 个答案:

答案 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

中修复