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

質問編集履歴

1

簡略化していたため、詳細部分を追加しました。

2020/12/01 04:53

投稿

difhoa
difhoa

スコア0

title CHANGED
File without changes
body CHANGED
@@ -11,11 +11,20 @@
11
11
  ### 該当のソースコード
12
12
  slimで書いています
13
13
  ```rails
14
+ - hoge(hoge_entities, identity[:foo_codes]).each do |foo|
14
- - if foo[:bar].present?
15
+ - if foo[:bar].present?
15
- - foo[:bar].each do |bar|
16
+ - foo[:bar].each do |bar|
16
- span= bar
17
+ span= bar
18
+ ここでエラーが出る。
19
+ #=>undefined method `each' for #<String:0x000000>
17
20
  ```
18
21
 
22
+ ```model
23
+ def foo
24
+ setting_yml[:bar]
25
+ end
26
+ ```
27
+
19
28
  ```yml
20
29
  foo:
21
30
  bar:
@@ -28,6 +37,8 @@
28
37
  ここに問題に対して試したことを記載してください。
29
38
  該当ソースコードのrails部分を書いたら、undefined method 'each' となってしまいました。試しにコンソールで
30
39
  ```console
40
+ pry(main)> foo = Foo.find(1)
41
+ #=> id: 1, name: "Foo", created_at: xxx, updated_at: xxx
31
42
  pry(main)> foo[:bar].each do |bar|
32
43
  pry(main)* puts bar
33
44
  pry(main)* end
@@ -36,4 +47,14 @@
36
47
  ```
37
48
  と出力できたので、なぜslimだと失敗するか分からずにおります。
38
49
 
50
+ ちなみにですが、slimで
51
+
52
+ ```rails
53
+ - hoge(hoge_entities, identity[:foo_codes]).each do |foo|
54
+ - if foo[:bar].present?
55
+ span= foo.bar
56
+ ```
57
+
58
+ だと正しく出力されます。
59
+
39
60
  初歩的な質問ですが、ご回答いただけると幸いです!!