2014-03-30 133 views
1

我想渲染局部控制器的局部图。我无法在任何地方找到这种语法(既没有Rails文档中的部分/视图或谷歌搜索)。在控制器中渲染局部图

我可以让这个动作的视图只包含一个部分,但这听起来像是我想避免的一个额外的复杂层。使用(控制器 - >部分)而不是(控制器 - >动作的视图 - >部分)似乎更清洁。也许我的直觉是错误的?

http://guides.rubyonrails.org/layouts_and_rendering.html#using-render

def show 
    render 'some_partial', locals: { test => 'hello' } 
end 

给出了错误:

wrong number of arguments (0 for 2..3) 
+0

你能后的错误堆栈跟踪。 –

回答

1

局部模板应该从模板或布局进行渲染,它们是部分观点不完全的看法,更新show.html.erb到渲染任何部分需要显示的内容

如果你真的想渲染一个部分然后尝试

render :partial => 'some_partial', :locals => { :test => "hello" } 

还是为新的轨道4语法

render partial: 'some_partial', locals: { test: "Hello" }