質問編集履歴
2
誤字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -178,7 +178,7 @@
|
|
178
178
|
|
179
179
|
|
180
180
|
|
181
|
-
ちなみに、gon ```<%= include_gon(init: true)%>```はapplication.html.erbの<head>内に記載してあります。(上記コードではapplication.html.erbは割愛しております)
|
181
|
+
ちなみに、gonを使用するための ```<%= include_gon(init: true)%>```はapplication.html.erbの<head>内に記載してあります。(上記コードではapplication.html.erbは割愛しております)
|
182
182
|
|
183
183
|
|
184
184
|
|
1
js.erbによるrubyコード埋め込みについて追記
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
【rails】
|
1
|
+
【rails】コントローラで定義した変数をapplication.js.erbで使いたい【javascript】
|
test
CHANGED
@@ -8,9 +8,9 @@
|
|
8
8
|
|
9
9
|
2. functionName()内からhogeコントローラのwriteアクションに値を送信
|
10
10
|
|
11
|
-
3. 送られてきた値をもとに、writeアクション内で
|
11
|
+
3. 送られてきた値をもとに、writeアクション内で変数作成
|
12
|
-
|
12
|
+
|
13
|
-
4. functionName()にて作成された
|
13
|
+
4. functionName()にて作成された変数を使用してセレクトボックスの内容を変更
|
14
14
|
|
15
15
|
|
16
16
|
|
@@ -110,7 +110,7 @@
|
|
110
110
|
|
111
111
|
for(var i=0; i<gon.name.length; i++){
|
112
112
|
|
113
|
-
select2.options[j] = new Option(
|
113
|
+
select2.options[j] = new Option(@name[i],@code[i]); //ここでコントローラの変数(値)を使いたい
|
114
114
|
|
115
115
|
}
|
116
116
|
|
@@ -162,9 +162,9 @@
|
|
162
162
|
|
163
163
|
@result.length.times do |j|
|
164
164
|
|
165
|
-
|
165
|
+
@name[j] = @result[j][name] #ここで変数作成
|
166
|
-
|
166
|
+
|
167
|
-
|
167
|
+
@code[j] = @result[j][code]
|
168
168
|
|
169
169
|
end
|
170
170
|
|
@@ -178,19 +178,23 @@
|
|
178
178
|
|
179
179
|
|
180
180
|
|
181
|
-
ちなみに、 ```<%= include_gon(init: true)%>```はapplication.html.erbの<head>内に記載してあります。(上記コードではapplication.html.erbは割愛しております)
|
181
|
+
ちなみに、gon ```<%= include_gon(init: true)%>```はapplication.html.erbの<head>内に記載してあります。(上記コードではapplication.html.erbは割愛しております)
|
182
182
|
|
183
183
|
|
184
184
|
|
185
185
|
### 詰まっている箇所
|
186
186
|
|
187
|
-
functionName()を呼び出した後、Ajax通信が完了(成功)するのを見計ってconsoleでgon変数名やgon.allを叩いてもundefinedとなってしまいます。
|
187
|
+
gon変数を使おうとし、functionName()を呼び出した後、Ajax通信が完了(成功)するのを見計ってconsoleでgon変数名やgon.allを叩いてもundefinedとなってしまいます。
|
188
188
|
|
189
189
|
コントローラが同じでも、定義するアクションが違えばやはりgon変数は有効でなくなってしまうのでしょうか。
|
190
190
|
|
191
|
-
|
191
|
+
(9/1追記)js.erb形式なのでコントローラで作った変数が<%= @変数名 %>で使えるとのことだったので(上記コードはその方向で修正してあります)、試してみましたが、変数の中身が無いような挙動をします。(例:console.log(<%= @変数名 %>);とすると空白行が出力される)
|
192
|
+
|
192
|
-
|
193
|
+
変数を定義する場所がまずいのでしょうか?
|
194
|
+
|
195
|
+
|
196
|
+
|
193
|
-
また、
|
197
|
+
また、上記以外にもコントローラで作成した変数をjsで使える方法がありましたらご教授頂けますと幸いです。
|
194
198
|
|
195
199
|
### ちなみに
|
196
200
|
|