teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

誤字訂正

2016/05/01 13:06

投稿

sorachi77
sorachi77

スコア13

title CHANGED
File without changes
body CHANGED
@@ -97,7 +97,7 @@
97
97
 
98
98
  そうすると、JSコンソールには以下の通り表示されました。
99
99
 
100
- text初期値
100
+ textone初期値
101
101
 
102
102
  よって、やはりCoffeeScriptとViewの接続がうまくいっていないように思えます。
103
103
 

3

ご回答をいただいて試行した結果

2016/05/01 13:06

投稿

sorachi77
sorachi77

スコア13

title CHANGED
File without changes
body CHANGED
@@ -41,4 +41,75 @@
41
41
  最後の処理にreturnが付くのがCoffeeScriptの仕様と勉強したのですが、それによって即時関数が終了してしまっている(?)ことが原因かと考え、色々検索してみたのですが解決することができず、ご質問させていただきました。
42
42
 
43
43
  初歩的な質問となってしまい、大変申し訳ございません。
44
- もし解決方法をご存知でしたら、お手数をおかけいたしますがよろしくお願い致します。
44
+ もし解決方法をご存知でしたら、お手数をおかけいたしますがよろしくお願い致します。
45
+
46
+ ###2016/5/1 21:30追記
47
+ 皆様ご回答いただきましてありがとうございました。
48
+
49
+ お恥ずかしながら、classとidの指定方法を混合しておりました。
50
+ いただいたご回答をもとに、以下のとおり修正致しました。
51
+
52
+ ```lang-CoffeeScript
53
+ $('#pay_category').on 'change', ->
54
+ console.log 'change'
55
+ ```
56
+
57
+ しかし、これでselectの選択を変更してもJSコンソールに変化がなく、もっと根本的なところに原因があるのかと、次の実験を行いました。
58
+
59
+ 【実験①:シンプルに要素の取得だけ試す】
60
+
61
+ 以下のコードを追記し、要素の取得ができているかどうかの実験を行いました。
62
+
63
+ Viewにただのテキストボックスを追加。
64
+ ```lang-Ruby
65
+ <%= select_tag('pay_category', options_from_collection_for_select(@categories, :category, :category)) %><br>
66
+ <input type="text" id="textone" value="textone初期値">
67
+ ```
68
+
69
+ CoffeeScriptに以下を追加。
70
+
71
+ ```lang-CoffeeScript
72
+ do ->
73
+ console.log('test')
74
+
75
+ #追加
76
+ test = $('#textone').val()
77
+ console.log(test)
78
+
79
+ $('#pay_category').on 'change', ->
80
+ console.log 'change'
81
+ ```
82
+
83
+ しかし、textoneのログ結果はundifinedでした。
84
+ ですので、根本的にフォームの要素を取得できていないことがわかりました。
85
+
86
+ 【実験②:Viewにscriptを書いて実験】
87
+
88
+ Viewファイルの1番下に以下を追加。
89
+
90
+ ```lang-Ruby
91
+ <script>
92
+ var test;
93
+ test = $('#textone').val();
94
+ console.log(test);
95
+ </script>
96
+ ```
97
+
98
+ そうすると、JSコンソールには以下の通り表示されました。
99
+
100
+ text初期値
101
+
102
+ よって、やはりCoffeeScriptとViewの接続がうまくいっていないように思えます。
103
+
104
+ 【実験③:applicasion.jsに書いて実験】
105
+
106
+ 本来は推奨されないと読んだのですが、AssetPipelineに問題があるのかと思い、application.jsに実験①と同様のコードを書いた実験も行いました。
107
+ しかし、結果はundifinedとなりました。
108
+ ですので、原因はView←→CoffeeScriptにありそうです。
109
+
110
+
111
+ せっかくご回答いただきましたのに、別の所に原因がありまして大変申し訳ございませんでした。
112
+ ご回答をいただきましてから本原因の調査もしてみたのですが、解決する情報を見つけることが出来ませんでした。
113
+ もしまだお付き合いいただけましたら、本原因もご存知でしたら、ご教授いただけると幸いです。
114
+
115
+ 環境はmacにvagrantで作ったcentos環境を使用しており、今回が初railsですのでgemなどは足りないものが出てきたらググッて追加しているところであります。

2

タグの追加

2016/05/01 13:05

投稿

sorachi77
sorachi77

スコア13

title CHANGED
File without changes
body CHANGED
File without changes

1

誤字の訂正

2016/05/01 09:01

投稿

sorachi77
sorachi77

スコア13

title CHANGED
File without changes
body CHANGED
@@ -19,11 +19,11 @@
19
19
 
20
20
  ###chromeのJSコンソール出力結果
21
21
  ①ページ読み込み時
22
- test
22
+ test
23
- change
23
+ change
24
24
 
25
25
  ②select要素変更時
26
- ①と変化なし
26
+ ①と変化なし
27
27
 
28
28
 
29
29
  ###試したこと