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

私はルビーとレールにも非常に慣れていないので、助けていただければ幸いです。

乾杯!

4

2 に答える 2

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 に答える