1. kajirikajiri

    Posted

    kajirikajiri
Changes in title
+Passing Variable to Partial - undefined local variable or method error 2つの解決法
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,24 @@
+# 1: render partial 'my_partial' と書いているか、render 'my_partial' と書いているか確認する
+
+呼び出し方に違いがあります
+
+```
+<%= render 'my_partial', :locals => {:class_Name => "Science", :y => 36} %>
+<% render partial: 'my_partial', :locals => {:class_Name => 'Science', :y => 36 } %>
+```
+
+# 2: 定義されているか確認する
+
+```
+# Rails4以降
+<% if defined?(local_var) do %>
+# Rails3
+<% if local_assigns[:local_var].present? do %>
+```
+
+自分の場合、partialに書いた変数を使わない場合があり、 `if defined?(local_var)`を書いたら解決した。defined?で確認して、local_varをそのまま使わないようにした。
+
+# 参考
+自分はqiitaの記事のおかげで解決しました
+https://qiita.com/shinichinomura/items/1921027fc28279ce54e0
+https://stackoverflow.com/questions/16229470/passing-variable-to-partial-undefined-local-variable-or-method-error/21651848#21651848