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

回答編集履歴

1

追記を依頼されたので

2015/05/23 15:40

投稿

ymdu
ymdu

スコア60

answer CHANGED
@@ -10,4 +10,28 @@
10
10
  <td><%= member.name %></td>
11
11
  <% end %>
12
12
  ```
13
- こんなかんじになるかと思います。
13
+ こんなかんじになるかと思います。
14
+
15
+ --- 追記 ---
16
+
17
+ 部員一覧を別ページに表示する
18
+ おそらくroutes.rbにはこのようにコードを書いていると思います。
19
+ ```lang-ruby
20
+ resources :gakubus do
21
+ get 'list', on: :member
22
+ end
23
+ ```
24
+ このルーティングについては問題ないでしょうか?
25
+
26
+ そしてGakubusControllerに def list ~ end があると思います。
27
+ ここでインスタンス変数 @gakubu を生成していると思います。
28
+ ビューの中で、先ほど回答したソースを使ってlist.html.erbを書くとこのようになります。
29
+ ```lang-ruby
30
+ #gakubus/list.html.erb
31
+
32
+ <td><%= @gakubu.name %>(<%= @gakubu.members.size %>)</td>
33
+ <% @gakubu.members.each do |member| %>
34
+ <td><%= member.name %></td>
35
+ <% end %>
36
+ ```
37
+ list ビューの中では gakubu というeachで回したときにできる変数ではなく、コントローラーから渡されるインスタンス変数 @gakubu を使ってnameやmembersを取得するということになります。なので、先ほど回答したソースをそのまま使ってしまうと、表示されないかと思います。