質問編集履歴

2

記述表記ミス変更

2020/07/15 09:04

投稿

Malson
Malson

スコア10

test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
  **この状態で、javascriptに、私が望むハッシュの配列の変数として渡すことがで来ているのかできていないのか?が全くわからないです。**
54
54
 
55
- Rubyの形式のデータをjavascriptが使うことができるようにはならないので
55
+ 多分、Rubyの形式のデータをjavascriptが使うことができるようにはならないので、このまま代入してもダメなんだろうなとは思っています。
56
56
 
57
57
 
58
58
 

1

詳細にしました

2020/07/15 09:04

投稿

Malson
Malson

スコア10

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,13 @@
2
2
 
3
3
  テーブルの中に格納している複数のデータを、ハッシュ形式の配列で取り出した上で、ビュー画面上でjavascriptを使用して動かしたい。
4
4
 
5
+ javascriptで動かす上で、データはハッシュキーを持った配列にしたい。
5
6
 
7
+
8
+
9
+
10
+
11
+ ### 現状のやり方
6
12
 
7
13
 
8
14
 
@@ -20,12 +26,64 @@
20
26
 
21
27
 
22
28
 
23
- この時、[{length: 15.0, width: 7.5}, {length: 16.0, width: 8.0}, length: 17.0, width: 8.4}]
29
+ この時、インスタンスを@sizeとして、@size.select(:length, :width)なので、
24
30
 
25
- のように、レコド毎に、特定指定したカラムの情報だけをハッシュ形式格納れた配列をインスタンス変数として取り出すことができるでしょうか?
31
+ ミナルは、[{length: 15.0, width: 7.5}, {length: 16.0, width: 8.0}, length: 17.0, width: 8.4}]と表示せることができますが、
26
32
 
33
+ HTMLではSize::ActiveRecord_AssociationRelation:0x00*******としか表示されない。
34
+
35
+ ```haml
36
+
37
+ #hidden_info
38
+
27
- もしできるのであれば、どのように定義したら良いでしょうか?
39
+ - @size.select(:question, :answer)
40
+
41
+ ```
42
+
43
+ ```javascript
44
+
45
+ var test = document.getElementById('hidden_info');
46
+
47
+ //この時にconsole.log(test)で見てもSize::ActiveRecord_AssociationRelation:0x00*******としか表示されない
48
+
49
+ ```
28
50
 
29
51
 
30
52
 
53
+ **この状態で、javascriptに、私が望むハッシュの配列の変数として渡すことがで来ているのかできていないのか?が全くわからないです。**
54
+
55
+ Rubyの形式のデータをjavascriptが使うことができるようにはならないので
56
+
57
+
58
+
31
- 指定の配列を取得のにpluckメソッドの存在までは知りまたが、ハッシュ形式ではないのでどしたものかと考えています
59
+ javascriptで動かすのに、ランダムなレコー番号2つのキーのそれぞれの値を呼び出て表示させるとう↓なこ考えていますが、
60
+
61
+
62
+
63
+ ```javascript
64
+
65
+ var display1 = document.getElementById('side1')
66
+
67
+ var display2 = document.getElementById('side2')
68
+
69
+ var num = Math.floor(Math.random() * test.length);
70
+
71
+ //test.lengthは特にエラーが出ていないが、console.logではundefined
72
+
73
+ display1.innerHTML = test[num]['length'];
74
+
75
+ //lengthというプロパティがないと表示される
76
+
77
+ display2.innerHTML = test[num]['width'];
78
+
79
+ //widthというプロパティがないと表示される
80
+
81
+ ```
82
+
83
+
84
+
85
+ となるので、おそらく変数を代入する前の段階でなんとかしなければいけないとは思うのですが、どうやったら良いか全くわかりません。
86
+
87
+
88
+
89
+ どうかアドバイスをお願いいたします。