渲染(:partial =>“test”...)中渲染(测试)的等效功能是什么?我相信它的渲染(:partial =>“test”,:collection => test),但这似乎不适用于我的应用程序。使用Rails进行局部渲染
render(test)
工作正常,但render(:partial=>"test", :collection=> test)
不起作用。
我该如何解决这个问题?
渲染(:partial =>“test”...)中渲染(测试)的等效功能是什么?我相信它的渲染(:partial =>“test”,:collection => test),但这似乎不适用于我的应用程序。使用Rails进行局部渲染
render(test)
工作正常,但render(:partial=>"test", :collection=> test)
不起作用。
我该如何解决这个问题?
当你调用
render partial: "test", collection: test
有一个期望,
_test.html.erb
文件render
从:collection
值称为是可枚举的_test.html.erb
你使用一个test
变量来工作从test
收集在部分文件的test
变量命名为test
的_test.html.erb
文件名后,不集合变量test
或它的模型实例类名称的项目。
我建议您阅读Layouts and Rendering指南渲染集合。
感谢您的帮助。我编辑了我的问题,使其更清晰。你有什么建议吗? – scientiffic 2013-03-08 05:51:56
它不工作的原因是它不需要收集参数;到底,这是什么工作:
render(:partial=>"test", :locals=> {:test=> test})
这意味着'测试'实际上并不是可以接受的。很高兴你把它整理出来。 – deefour 2013-03-08 06:05:08
这是在同一个视图文件夹另外指定“文件夹/文件名” – 2013-03-08 05:47:00
是的,它是在同一个文件夹中。 – scientiffic 2013-03-08 05:52:42
你是什么意思“它不工作”?有错误吗?你有没有尝试将收藏变量重命名为“test”以外的东西?什么是输出? – deefour 2013-03-08 05:53:39