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

質問編集履歴

1

誤字の修正

2018/10/21 11:34

投稿

sirs
sirs

スコア15

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,54 @@
1
+ Rails初心者です。
2
+
3
+ Railstutorial10章でUsersページでユーザーを表示する実装をして、/usersページを開こうとしたら下記のようなエラーが表示されました。
4
+
5
+
6
+ ```ここに言語を入力
7
+ NoMethodError in Users#index
8
+ Showing /home/ec2-user/environment/sample_app/app/views/users/index.html.erb where line #7 raised:
9
+
10
+ undefined method `downcase' for nil:NilClass
11
+ Extracted source (around line #5):
12
+
13
+ 渡されたユーザーのGravatar画像を返す
14
+ def gravatar_for(user, size: 80)
15
+ gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
16
+ gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}?s=#{size}"
17
+ image_tag(gravatar_url, alt: user.name, class: "gravatar")
18
+ end
19
+
20
+ # 渡されたユーザーのGravatar画像を返す
21
+ def gravatar_for(user, size: 80)
22
+ gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
23
+ gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}?s=#{size}"
24
+ image_tag(gravatar_url, alt: user.name, class: "gravatar")
25
+ end
26
+
27
+ Rails.root: /home/ec2-user/environment/sample_app
28
+
29
+ Application Trace | Framework Trace | Full Trace
30
+ app/helpers/users_helper.rb:5:in `gravatar_for'
31
+ app/views/users/index.html.erb:7:in `block in _app_views_users_index_html_erb__4353731050743654976_70117457819340'
32
+ app/views/users/index.html.erb:5:in `_app_views_users_index_html_erb__4353731050743654976_70117457819340'
33
+ Request
34
+
35
+ Parameters:
36
+
37
+ None
38
+ Toggle session dump
39
+ Toggle env dump
40
+ Response
41
+
42
+ Headers:
43
+
44
+ None
45
+ ```
46
+
47
+ @usersのどこかが間違っているかと思っているのですが、全くわかりません。
48
+ どなたかわかる方がいらっしゃいましたらご教授ください。
49
+
50
+
51
+
1
52
  /sample_app/app/controllers/users_controller.rb
2
53
  ```ここに言語を入力
3
54
  class UsersController < ApplicationController
@@ -77,4 +128,33 @@
77
128
  redirect_to(root_url) unless current_user?(@user)
78
129
  end
79
130
  end
131
+ ```
132
+
133
+
134
+ /sample_app/app/views/users/index.html.erb
135
+ ```ここに言語を入力
136
+ <% provide(:title, 'All users') %>
137
+ <h1>All users</h1>
138
+
139
+ <ul class="users">
140
+ <% @users.each do |user| %>
141
+ <li>
142
+ <%= gravatar_for user, size: 50 %>
143
+ <%= link_to user.name, user %>
144
+ </li>
145
+ <% end %>
146
+ </ul>
147
+ ```
148
+
149
+ /sample_app/app/helpers/users_helper.rb
150
+ ```ここに言語を入力
151
+ module UsersHelper
152
+
153
+ # 渡されたユーザーのGravatar画像を返す
154
+ def gravatar_for(user, size: 80)
155
+ gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
156
+ gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}?s=#{size}"
157
+ image_tag(gravatar_url, alt: user.name, class: "gravatar")
158
+ end
159
+ end
80
160
  ```