独自のローカルとして別の部分に送信されたときに部分的な地元の人々が持続しませレール

StackOverflow https://stackoverflow.com/questions/1240321

質問

私はそうのような部分をレンダリング

<%= render :partial => 'widgets/some_partial, :locals => {:foo => 'bar'} %>

だから、_some_partial.html.erbの内側に私はそうのような2つのパーシャルをレンダリング

<% #foo.nil? #=> false %>
<%= render :partial => 'widgets/another_partial', :locals => {:foo => foo} %>
`<%= render :partial => 'widgets/another_partial_again', :locals => {:foo => foo} %>`

fooのローカル変数はsome_partial.html.erbでもanother_partial_again.html.erbで罰金レンダリングします。しかし、fooという変数は、私が明示的にレンダリングコールでそれを渡されていてもanother_partial.html.erbでアクセスできなくなります。

ここで何が起こっているのでしょうか?

助けてくれてありがとう。

役に立ちましたか?

解決 2

解決しました。私はまた、適切なローカル変数を送信することなく、コントローラから同じ部分をレンダリングして判明しました。おかげでとにかく!!!

他のヒント

私はundefined local variable or methodエラーがあまりにも私が定義されて:localsで部分的にレンダリングされたときに私のために来ていた。

しかし、私は私の問題を引き起こして別の問題を持っていたので、私は、私はそれが他の誰かを助けた場合の私の解決策を共有するだろうと思いました。 (このページには、私はすべての後にこのエラーをGoogleで最初の結果であった)。

基本的にはちょうどあなたが:partial => 'path/to/partial'ためにあなたの呼び出しでrenderを使用してください。

すなわちます。

<%= render :partial => 'widgets/some_partial', :locals => {:foo => 'bar'} %>

私がやっていたようではありません

<%= render 'widgets/some_partial', :locals => {:foo => 'bar'} %>

欠場する私のようなレール/ルビー初心者のための簡単ます。

私は同じ問題に直面して、この非常に古い問題の原因にぶつかりました。 あなたは、コレクションを使用するか、正しい方法をレイアウトされていない場合のRailsと4+であることが判明します:

# Instead of <%= render partial: "account", locals: { account: @buyer } %>
<%= render "account", account: @buyer %>

文書としては、

scroll top