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

質問編集履歴

3

編集

2018/08/31 08:40

投稿

shirou
shirou

スコア15

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  ### 前提・実現したいこと
2
2
  DBより抽出したデータをrailsにて処理する際に、格納されているデータは配列なのかハッシュなのかが分からない為、適切なメソッドを利用出来ない。
3
3
  また、配列であると確認出来た際に、配列に用いるメソッドを使用しても、そのメソッドに期待された結果が帰ってこない理由が分かりません...。
4
- ように記述変更れば、`name:`格納してデータを抽出出来るでうか
4
+ 今回ケースでは、配列の要素取り出メソッドを使用した際なぜか配列まで取り出して表示されてしまってい・・どうてこなってしまったの
5
5
 
6
6
  ### 発生している問題・エラーメッセージ
7
7
  `@members`配列に格納されている`:name`の値を抽出したいが、現状のコードでは

2

追記

2018/08/31 08:40

投稿

shirou
shirou

スコア15

title CHANGED
File without changes
body CHANGED
@@ -133,6 +133,12 @@
133
133
  ```
134
134
  `find`メソッドを用いると先頭に`<Enumerator:`が出現し、結局`name:`の値を取り出すことは叶わず。
135
135
 
136
+ ```ruby
137
+ >> @members[:name]
138
+ TypeError: no implicit conversion of Symbol into Integer
139
+ ```
140
+ 仮に保存されている形式が`hash`と仮定して、値を抜き取ってもシンボルを数値に変換できないと予想外のエラー。
141
+
136
142
  ### 補足情報(FW/ツールのバージョンなど)
137
143
 
138
144
  Rails.5.2.0

1

追記

2018/08/31 07:43

投稿

shirou
shirou

スコア15

title CHANGED
File without changes
body CHANGED
@@ -99,9 +99,15 @@
99
99
  >> @members.class
100
100
  => Student::ActiveRecord_Associations_CollectionProxy
101
101
  ```
102
- `ActiveRecord_Associations_CollectionProxy`という謎の参照先が見つかったので`Array`メソッドは用いれないと判断。そこで
102
+ `ActiveRecord_Associations_CollectionProxy`という謎の参照先が見つかったので`Array`メソッドは用いれないと判断。というのも
103
103
 
104
104
  ```ruby
105
+ >> @members.id
106
+ NoMethodError: undefined method `id' for #<Student::ActiveRecord_Associations_CollectionProxy:0x00007fef0611bd98>
107
+ ```
108
+ 同じく格納されている`:id`を`.id`とした結果が`.name`と異なりエラーを吐くからだ。そこで
109
+
110
+ ```ruby
105
111
  >> @members.target
106
112
  => [#<Student id: 1, name: "おじいさん", grade: 3, content: "山に住んでいます", created_at: "2018-08-31 03:55:30", updated_at: "2018-08-31 03:55:30", bukatu_id: 1>]
107
113
  >> @members.target.class