2015-12-30 2 views
0

Действие :: Контроллер говорит, что значение id профиля равно нулю в методе link_to. Это мой код:рельсы, связывающиеся с вложенным ресурсом с помощью метода разработки

<p id="notice"><%= notice %></p> 
<h2>Listing Schools</h2> 
<table> 
    <thead> 
    <tr> 
     <th colspan="3"></th> 
    </tr> 
    </thead> 
    <tbody> 
    <% @schools.each do |school| %> 
     <tr> 
     <td><%= school.name %></td> 
     <td><%= link_to edit_user_profile_school_path(current_user, school) %> 
     </tr> 
    <% end %> 
    </tbody> 
</table> 
<br> 
<%= link_to 'New School', new_school_path %> 

ответ

0

Вам необходимо указать ключ для ваших Params:

<%= link_to edit_user_profile_school_path(profile_id: current_user.id, school_id: school.id) %> 

предполагается, что ваш маршрут будет выглядеть примерно так:

post 'users/:profile_id/schools/:school_id' 

Трудно сказать наверняка, не видя больше кода, но похоже, что вам не хватает: profile_id в ваших параметрах

+0

Должен ли я быть таким явным? Вот маршрут edit_user_profile_school GET /users/:user_id/profile/schools/:id/edit(.:format) школы # edit –

+0

вот еще одна ссылка из моего приложения, но эта работает <% = link_to 'Profile', new_user_profile_path (current_user) %> вы видите, как я использовал объект current_user вместо current_user.id? который работает ... –

+0

также вы перепутали идентификатор профиля с идентификатором пользователя «profile_id: current_user.id», –