2017-11-21 15 views
1

Ruby on Railsアプリケーションに変更アバターポップアップがあります。私は製品のプロフィール写真や写真を変更するようないくつかのモデルのためにそれを使用しようとしています。Ruby on Railsで部分的に定義されていないローカル変数がレンダリングされます

私は、ビューを作成し、user.html.erbファイルに次のようにパラメータを指定して、それを開こうとしています:ビュー/ change_avatarの下に位置しています私の_index.html.erbファイルで

<div id="myModal_change_avatar" class="modal-dialog fade-scale"> 
<div class="modal-content"> 
    <div style="height: 100%;width: 100%" id="id_model_content"> 
    <%= render partial: 'change_avatar/index', locals: { par:'param'} %> 
    </div> 
</div> 
</div> 

<h1><%= par %></h1> 

しかし、私はuser.html.erbファイルを開いたときに "未定義のローカル変数またはメソッド` par 'を取得します。

私には何が欠けているのか分かりません。

提案がありますか?

ありがとうございました。

+0

ウェブコンソールの出力を表示できますか?部分ファイルまたは親ファイルで 'par'の値や宣言が見つからないかどうかを教えてください。チェーン内でエラーが発生している場所では、その問題の詳細を教えてください。 – Beartech

答えて

3

私は過去にこの問題を経験しましたが、原因は何かを完全には確信していませんでしたが、私の場合、深くネストされた部分的な部分に関連しているようです。

解決策は、local_assignsハッシュからローカル変数にアクセスすることです。私がする傾向があるのは、ページ上部のローカル変数にそれを割り当てることです: -

<% par ||= local_assigns[:par] %> 

これは役に立ちます。

+0

local_assigns [:par]がキーのようです。どうもありがとう –

関連する問題