回答編集履歴

2

修正

2021/02/03 02:57

投稿

neko_daisuki
neko_daisuki

スコア2090

test CHANGED
@@ -164,6 +164,6 @@
164
164
 
165
165
 
166
166
 
167
- character_path(:id) に変更すれば /characters/:id になります。
167
+ character_path(character) に変更すれば /characters/:id になります。
168
168
 
169
169
  対応するコントローラー、アクションは characters#show です。

1

返信を追加

2021/02/03 02:57

投稿

neko_daisuki
neko_daisuki

スコア2090

test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  ```ruby
44
44
 
45
- # GET /character/1
45
+ # GET /characters/1
46
46
 
47
47
  def show
48
48
 
@@ -97,3 +97,73 @@
97
97
  find が返すのは単一のオブジェクトです。変数の名前は単数形にしましょう。
98
98
 
99
99
  これは each に応答しないので今のビューではエラーになるでしょう。
100
+
101
+
102
+
103
+ ## 以下コメントへの返信です
104
+
105
+
106
+
107
+ ルーティングを rails の一般的な記述にしている事を前提にしています。
108
+
109
+
110
+
111
+ コントローラーが以下のようになっているのなら
112
+
113
+
114
+
115
+ ```ruby
116
+
117
+ def index
118
+
119
+ @characters = Character.all
120
+
121
+ end
122
+
123
+ ```
124
+
125
+
126
+
127
+ 次のように書けます。
128
+
129
+
130
+
131
+ ```erb
132
+
133
+ <ul>
134
+
135
+ <% @characters.each do |character| %>
136
+
137
+ <% # character に name というカラムがあると推定 %>
138
+
139
+ <li><%= link_to character.name, character_moves_path(character) %></li>
140
+
141
+ <% end %>
142
+
143
+ </ul>
144
+
145
+ ```
146
+
147
+
148
+
149
+ 生成されるパスは /charcters/:id/moves です。
150
+
151
+ 次のようなルーティングが設定されていないとエラーになります。
152
+
153
+ 対応するコントローラー、アクションは moves#index です。
154
+
155
+ ```
156
+
157
+ resources :characters do
158
+
159
+ resources :moves
160
+
161
+ end
162
+
163
+ ```
164
+
165
+
166
+
167
+ character_path(:id) に変更すれば /characters/:id になります。
168
+
169
+ 対応するコントローラー、アクションは characters#show です。