回答編集履歴

1

字句修正と回答追加

2017/04/17 14:13

投稿

s-show
s-show

スコア203

test CHANGED
@@ -2,11 +2,9 @@
2
2
 
3
3
 
4
4
 
5
- という質問につきましては、ブログ投稿画面のようなページが用意されており投稿する際は、セレクトボックス自分が所属しているグループ名を選択してから投稿する、というものを想像しているのですが、それであれば、
5
+ という質問につきましては、投稿画面contentを入力するテキストボックスと、自分が所属しているグループ名を選択するセレクトボックスがあり、ユーザーはその2つの項目を入力してから投稿ボタンを押というものを想像しているのですが、それであれば、`collection_select`メソッドを使えば良いかと思います。
6
6
 
7
-
8
-
9
- `post_controller`の`new`アクションに
7
+ 具体的には、`post_controller`の`new`アクションに
10
8
 
11
9
  ```ruby
12
10
 
@@ -14,7 +12,7 @@
14
12
 
15
13
  ```
16
14
 
17
- を追加し、`view`ファイルで、
15
+ を追加して`collection_select`メソッドで使う変数を用意し、`view`ファイルで、
18
16
 
19
17
  ```ruby
20
18
 
@@ -22,7 +20,7 @@
22
20
 
23
21
  (投稿に必要なフォームの部品)
24
22
 
25
- <%= f.collection_select(:group_id, @groups, :group_id, :name)
23
+ <%= f.collection_select(:group_id, @groups, :id, :name)
26
24
 
27
25
  <%= f.submit '投稿' %>
28
26
 
@@ -30,6 +28,42 @@
30
28
 
31
29
  ```
32
30
 
31
+ とすれば、ユーザーが自分が参加しているグループを選んで投稿できるようになると思います。
33
32
 
34
33
 
34
+
35
+ > 「4.ユーザーは自由に他のユーザーが作成したグループに参加できる」
36
+
37
+
38
+
35
- とすれば、ユーザーが自分が参加しているグループを選ん投稿するこができるのではなょうか。
39
+ につきましては、私したら`add_user_to_group`というアクションを作成、そこに
40
+
41
+ ```ruby
42
+
43
+ def add_user_to_group
44
+
45
+ @user = User.find(id: current_user.id)
46
+
47
+ @group = Group.new
48
+
49
+ end
50
+
51
+ ```
52
+
53
+ とし、`view`ファイルに、
54
+
55
+ ```ruby
56
+
57
+ <% form_for(@group) do |f| %>
58
+
59
+ <%= f.hidden_field :user_id, :value => @user.id %>
60
+
61
+ <%= f.collection_select(:group_id, @groups, :id, :name) %>
62
+
63
+ <%= f.submit '参加' %>
64
+
65
+ <% end %>
66
+
67
+ ```
68
+
69
+ とします。