我需要一些關於嵌套資源操作的幫助。我有三個嵌套的資源:工作,問題和答案。我目前只試圖讓編輯/更新方法爲問題控制器工作。關係如下:喬布斯有許多問題和問題屬於喬布斯。Rails 3嵌套資源編輯/更新方法 - 路由錯誤
我使用的問題,編輯操作和我得到一個錯誤:
No route matches "/jobs/1/questions"
,我想不通爲什麼。
目前,我有這個代碼,我在我的問題控制器編輯和更新操作:
def edit
@job = Job.find(params[:job_id])
@question = @job.questions.find(params[:id])
end
def update
@job = Job.find(params[:job_id])
@question = @job.questions.find(params[:id])
if @question.update_attributes(params[:question])
redirect_to(@question)
end
end
型號:
class Job < ActiveRecord::Base
has_many :questions
class Question < ActiveRecord::Base
belongs_to :job
路線:
resources :jobs do
resources :questions do
resources :answers
end
end
的事情,我不不明白的是: a)爲什麼它會將我重定向到問題索引路徑,當我沒有重定向它,並且 b)它說這不是一個有效的路由,但是如果我刷新那個確切的URL,頁面會正確加載。
我試過了多個選項,但是我找不出解決方案。
感謝您的幫助。讓我知道你是否需要更多信息。
p.s.這裏是我的耙路線:https://gist.github.com/1077134
謝謝@rainbowpony,這確實清除了我的一些路由問題,但沒有解決我的問題。 – Igrabes