2016-05-03 4 views
0

У меня есть 3 контроллера, которые являются «client_workouts», «клиент» и «тренер». В контроллере client_workouts я хочу иметь ссылку, которая направляет вас на страницу «client /: 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> 

Должен ли я соответствовать идентификаторам ???

+0

вам необходимо необходимо установить параметры прохода в URL как '<% = link_to '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

Если вы хотите пойти клиент /: идентификатор т.е.-шоу Действие

вам нужно отправить идентификатор клиента в качестве параметра

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

Как правило, это плохая форма, чтобы поместить 'id' в различные методы' _path'. Если оставить 'client_workout' в нем достаточно и уважает любые переопределения' to_param', которые могут быть на месте. – tadman

+0

Спасибо @tadman, и я всегда предпочитаю хорошую идею и обновляю ответ :) –

Смежные вопросы