我想用控制器中的局部渲染部分。我无法在任何地方找到这种语法(在部分/视图或谷歌搜索上都没有Rails文档)。
我可以让这个动作的视图只包含一个部分,但这听起来像是一个额外的复杂层,我想避免。使用(controller - > partial)代替(controller - > action的视图 - > partial)看起来更干净。也许我的直觉是错的?
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" }
或者更新的Rails 4语法
render partial: 'some_partial', locals: { test: "Hello" }