我努力成功地將ID傳遞到我設置的稱爲作業的嵌套資源的URL中。嵌套的資源問題
當我嘗試了@job
對象傳遞到我的鏈接,我得到的錯誤如下:
No route matches {:action=>"edit", :controller=>"jobs", :user_id=>1, :id=>nil}
這清楚地表明它不能正確等找到ID被找到nil
目前,我有我的路線設置爲這樣:
resources :users do
resources :jobs
end
和我有聯繫是<%= link_to "Edit", edit_user_job_path(@user.id,@job) %>
有趣的是,如果我通過對象@jobs
結束'它'將正確加載頁面,但是當我點擊鏈接將嘗試並添加所有用戶作業ID的。
在我的控制器進行編輯,我有:
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路徑的rake路由輸出嗎?你也說@ user.id但不是@ job.id? – John
我已經得到了這個。 @job必須是零。 – cdesrosiers