質問編集履歴

4

追記

2017/01/21 03:29

投稿

yuta_tokyo
yuta_tokyo

スコア35

test CHANGED
File without changes
test CHANGED
@@ -138,8 +138,24 @@
138
138
 
139
139
  文法ミスあれば教えていただきたいです!
140
140
 
141
+
142
+
143
+ ▼投稿者のID
144
+
141
145
  ```
142
146
 
143
147
  <%= Digest::MD5.hexdigest("request.remote_ip.to_s + #{@post.created_at.strftime("%Y%m%d")} + #{@post.id}")[0,8] %>
144
148
 
145
149
  ```
150
+
151
+
152
+
153
+ ▼コメンターのID
154
+
155
+ ```
156
+
157
+ 名前:<%= comment.commenter %> <%= comment.created_at.strftime("%y/%m/%d(#{%w(日 月 火 水 木 金 土)[comment.created_at.wday]}) %H:%M:%S") %> ID:<%= Digest::MD5.hexdigest("request.remote_ip.to_s + #{comment.created_at.strftime("%Y%m%d")} + #{@post.id}")[0,8] %>
158
+
159
+ <%= simple_format comment.body %>
160
+
161
+ ```

3

追記

2017/01/21 03:29

投稿

yuta_tokyo
yuta_tokyo

スコア35

test CHANGED
File without changes
test CHANGED
@@ -127,3 +127,19 @@
127
127
  => Comment(id: integer, commenter: string, body: text, post_id: integer, created_at: datetime, updated_at: datetime, ip: string)
128
128
 
129
129
  ```
130
+
131
+
132
+
133
+ <追記 2016.01.21>
134
+
135
+ ---
136
+
137
+ 以下のコードでmd5でハッシュ化したidの上8桁の取得が完了しました!!
138
+
139
+ 文法ミスあれば教えていただきたいです!
140
+
141
+ ```
142
+
143
+ <%= Digest::MD5.hexdigest("request.remote_ip.to_s + #{@post.created_at.strftime("%Y%m%d")} + #{@post.id}")[0,8] %>
144
+
145
+ ```

2

誤字

2017/01/21 03:27

投稿

yuta_tokyo
yuta_tokyo

スコア35

test CHANGED
File without changes
test CHANGED
@@ -23,12 +23,6 @@
23
23
  Comment投稿者のIDを取得することができない。
24
24
 
25
25
  コメントはsaveされるのだが、ipカラムにコメント投稿者のipが入っていない状態。
26
-
27
-
28
-
29
- ・実装したいこと
30
-
31
- コメント投稿者の
32
26
 
33
27
 
34
28
 

1

追記

2017/01/20 08:05

投稿

yuta_tokyo
yuta_tokyo

スコア35

test CHANGED
File without changes
test CHANGED
@@ -5,3 +5,131 @@
5
5
  現在練習で簡単な掲示板を製作しています。
6
6
 
7
7
  投稿者のIPアドレスを取得したいのですが、今風のおすすめの方法など教えて頂きたいです。
8
+
9
+
10
+
11
+
12
+
13
+ ==========
14
+
15
+ <追記>
16
+
17
+ Postにcommentを紐づけた実装をしています。
18
+
19
+ ・問題
20
+
21
+ Post投稿者のIDは取得でき、データーベースに保存できたのだが、
22
+
23
+ Comment投稿者のIDを取得することができない。
24
+
25
+ コメントはsaveされるのだが、ipカラムにコメント投稿者のipが入っていない状態。
26
+
27
+
28
+
29
+ ・実装したいこと
30
+
31
+ コメント投稿者の
32
+
33
+
34
+
35
+ 以下が該当と予想されるコードです。
36
+
37
+ ▼commnets_controller.rb
38
+
39
+ ```
40
+
41
+ class CommentsController < ApplicationController
42
+
43
+ def create
44
+
45
+ @post = Post.find(params[:post_id])
46
+
47
+
48
+
49
+ @comment = @post.comments.create(comment_params)
50
+
51
+ @comment.ip = request.remote_ip
52
+
53
+ p request.remote_ip
54
+
55
+ p @comment.ip
56
+
57
+
58
+
59
+ respond_to do |format|
60
+
61
+ if @comment.valid?
62
+
63
+ format.html { redirect_to post_path(@post), notice: 'コメントが完了しました!!' }
64
+
65
+ else
66
+
67
+ format.html { redirect_to post_path(@post), notice: 'コメントに失敗しました。ニックネームとコメントを入れてください。' }
68
+
69
+ end
70
+
71
+ end
72
+
73
+ end
74
+
75
+
76
+
77
+ private
78
+
79
+ def comment_params
80
+
81
+ params.require(:comment).permit(:commenter, :body)
82
+
83
+ end
84
+
85
+ end
86
+
87
+ ```
88
+
89
+
90
+
91
+ ▼_form.html.erb(コメントの投稿フォームです。postのshow.html.erbに紐付けられています。)
92
+
93
+ ```
94
+
95
+ <%= form_for( [@post, @post.comments.build] ) do |f| %>
96
+
97
+
98
+
99
+ <div class="field">
100
+
101
+ <%= f.label :commenter, "ニックネーム" %>
102
+
103
+ <%= f.text_field :commenter,placeholder: :"名無しさん" %>
104
+
105
+ </div>
106
+
107
+ <div class="field">
108
+
109
+ <%= f.label :body, "コメント" %>
110
+
111
+ <%= f.text_area :body, cols: 60, rows: 3 %>
112
+
113
+ </div>
114
+
115
+
116
+
117
+ <div class="actions">
118
+
119
+ <%= f.submit "コメント投稿" %>
120
+
121
+ </div>
122
+
123
+ <% end %>
124
+
125
+ ```
126
+
127
+
128
+
129
+ ▼commentテーブルのカラムです
130
+
131
+ ```
132
+
133
+ => Comment(id: integer, commenter: string, body: text, post_id: integer, created_at: datetime, updated_at: datetime, ip: string)
134
+
135
+ ```