8

此代码工作正常:

<%= render 'sidebars/pages', :object => @categories = pages , :object => { @myobject => '1', @mmyobject => '2' } %>

如果我改成这样:

<%= render 'sidebars/pages', :object => { @categories => pages, @myobject => '1', @mmyobject => '2' } %>

然后我在尝试迭代@categories 时收到来自部分的错误:

undefined method `each' for nil:NilClass

我对 ruby​​ 和 rails 也很陌生,我很感激任何帮助。

干杯!

4

2 回答 2

15
于 2013-03-31T03:01:19.513 回答
1

这行代码如上所述:

<%= render 'sidebars/pages', :object => @categories = pages , :object => { @myobject => '1', @mmyobject => '2' } %

实际上不会引发任何错误,但也不会将 @myobject 和 @mmyobject 传递给视图。

以下是使用 render 方法指定多个对象的正确*方法:

<%= render 'sidebars/pages', :object => [@categories = pages, @myobject = '2'] %>

像这样我可以将多个对象传递给视图,而不必多次定义 :object 。

*至少在我的知识范围内

于 2013-03-31T17:30:56.863 回答