Я изо всех сил пытаюсь передать идентификатор в свой URL-адрес для вложенного ресурса, который я создал под названием Джобс.Проблема с вложенными ресурсами
ошибка я получаю, когда я пытаюсь передать @job
объект в моей ссылке выглядит следующим образом:
No route matches {:action=>"edit", :controller=>"jobs", :user_id=>1, :id=>nil}
который ясно показывает, что не может найти идентификатор правильно и так найти nil
на данный момент у меня есть мои настройки маршрутов, как так:
resources :users do
resources :jobs
end
и связь у меня есть <%= link_to "Edit", edit_user_job_path(@user.id,@job) %>
Что интересно, если я передаю объект @jobs
с символом 's' в конце, он будет правильно загружать страницу, но когда я нажму на ссылку, вы попытаетесь добавить все эти идентификаторы заданий пользователей.
В мой контроллер для редактирования у меня есть:
def edit
@user = current_user
@job = @user.jobs.find(params[:id])
end
Любая помощь действительно была бы оценена :)
UPDATE
Хорошо я определении объекта на неправильной странице мой контроллер (под редактированием вместо индекса). Проблема, которую я теперь имею это Couldn't find Job without an ID
Я обновил свой контроллер определение индекса к:
def index
@user = current_user
@jobs = @user.jobs.all
@job = @user.jobs.find(params[:id])
end
И есть, на мой взгляд (рабочие места # индекс)
<% @jobs.each do |f| %>
...
<%= link_to "Edit", edit_user_job_path(@user.id,job) %>
...
<% end %>
Любые советы были бы оценены если вы знаете, где я ошибаюсь :)
Можете ли вы опубликовать выходные маршруты рейка специально для пути edit_user_job? Также вы говорите @ user.id, но не @ job.id? – John
Я получил это раньше. @job должен быть равен нулю. – cdesrosiers