独自のローカルとして別の部分に送信されたときに部分的な地元の人々が持続しませレール
-
11-09-2019 - |
質問
私はそうのような部分をレンダリング
<%= 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 %>