У меня есть этот маршрут:Новый вложенный ресурс с link_to
resources :projects do
resources :services
resources :contacts
resources :title_abstracts
resources :parcels
resources :leases
resources :documents
end
это в моих проектах Вид, чтобы добавить новый контакт к проекту:
new_project_contact_path(@project)
URL, вырабатываемого: http://localhost:3000/projects/15/contacts/new
А Контакты Контроллер:
def new
@project = Project.find(params[:project_id])
@contact = @project.contacts.build
end
def create
@project = Project.find(params[:project_id])
@contact = @project.contacts.build(params[:contact])
@contact.save
redirect_to project_path
end
Но я получаю следующее сообщение об ошибке:
Couldn't find Project with 'id'=
Что я делаю неправильно? Как я должен проверить это?
Вы должны, вероятно, дезинфицировать 'params [: contact]'. И какова линия, вызывающая ошибку? Это ('@contact = @ project.contacts.build (params [: contact])')? – potashin
Вы уверены, что '@ project' в вашей ссылке (' new_project_contact_path (@project) ') не нуль? – AbM
Это: @project = Project.find (params [: project_id]) – tbrooke