2016-05-03 23 views
0

私は 'client_workouts'、 'client'、 'trainer'の3つのコントローラを持っています。 client_workoutsコントローラで、私はあなたを 'client /:id'ページに誘導するリンクを持っています。しかし、それは動作していないようですか?IDはどのように一致させるのですか?

<td><%= link_to client_workout.client_name, 'client' %></td> 
    <td><%= link_to client_workout.trainer, 'trainer' %></td> 
    <td><%= client_workout.duration_mins %></td> 
    <td><%= client_workout.date_of_workout %></td> 
    <td><%= client_workout.paid_amount %></td> 
    <td><%= link_to 'Show', client_workout %></td> 
    <td><%= link_to 'Edit', edit_client_workout_path(client_workout) %></td> 
    <td><%= link_to 'Destroy', client_workout, method: :delete, data: { confirm: 'Are you sure?' } %></td> 

IDと一致する必要はありますか?

+0

としてクライアントIDを送信する必要があります'Destroy'、client_workout_path(client.id)、メソッド::delete、data:{確認: '本当ですか?' }%> ' –

+0

あなたは'%%link_to 'Show'、client_workout_path(client_workout)%> 'を意味しますか? – tadman

+0

​​<%= link_to client_workout.client_name、 'client'%>この行を意味します。別のコントローラで作成したclient /:idページに移動したい。 – Alyanna

答えて

1

あなたは/クライアントを移動したい場合は、次のidすなわちshowアクション

あなたは `​​<%=のlink_toのようなURLに設定されたパスのパラメータを必要とする必要があるパラメータ

<td><%= link_to client_workout.client_name, client_path(client_workout) %></td> 
+0

さまざまな '_path'メソッドに' id'を入れるのは一般的に悪いことです。そこに 'client_workout'を残しておけば十分であり、' to_param'オーバーライドを尊重します。 – tadman

+0

ありがとう@ tadman、私はいつも良いアイデアを好むし、答えを更新:) –

関連する問題