コントローラからパーシャルへの変数値の受け渡しが滞っています。 SkillSetsControllerコントローラからパーシャルビューレールへの変数の受け渡し
def skillsetdata
@skillSetData = SkillSet.all
end
skill_set/skillsetdata.html.erbディスプレイ上に以下のコードのすべてのデータ:私は、コントローラからの@skillSetData上のスキルセットデータベースから全てのデータを有しています。
<% @skillSetData.each do |single_skill| %>
<option value="<%= single_skill.skillname %>"><%=single_skill.skillname %></option>
<% end %>
しかし、私はskillsetdata.html.erbが部分的すなわちである場合、変数を渡すことはできませんよ:_skillsetdata.html.erb。私が書いた_skillsetdataためのコードは次のとおりです。
<% skills_set_data.each do |single_skill| %>
<option value="<%= single_skill.skillname %>">
<%=single_skill.skillname %>
</option>
<% end %>
私はそれが様々な他のページにレンダリングする必要があるドロップダウンリストを持っているので、それは部分的にしたいです。私が使用したいページの1つは、static_pages/home.html.erbです。これは、異なるコントローラ、つまりstaticPagesからです。
<%= render partial: 'skill_sets/skillsetdata', locals: { skills_set_data:@skillSetData } %>
しかし、私はとエラーを取得しています:私は助け後にしようとしているコードがあるnilのための 未定義のメソッド `各」:NilClass をskill_sets/_skillsetdata.html.erb で家をロードしようとしたとき.html.erb。私は部分的に異なるページ間でデータを渡すことができません。
例コードのヘルプが役立ちます。あなたが使用できるパーシャルにインスタンス変数を渡すため
'ActionController :: UnknownFormat'は別のエラーです。あなたのコントローラのコードは何ですか? –
エラーは、実際には定義されていないメソッド 'each'がnilであることを認識しました。home.html.erbを読み込もうとしているときにskill_sets/_skillsetdata.html.erbのNilClass – adhital
エラーが発生する理由は1つだけです。使用しているインスタンス変数はnilです。それ以外の場合、 '' Missing partial'''があります。 ''未定義ローカル変数またはメソッド ''の部分集合の名前が '' undefined method ' nilのための:NilClass'。試してみて、 'locals:{skills_set_data:nil}'を使って何が起こるか見てみましょう。 –