Мне нужна помощь с вложенными действиями с ресурсами.У меня есть три вложенных ресурса: вакансии, вопросы и ответы.В настоящее время я только пытаюсь заставить метод edit / update работать для контроллера вопросов.Отношения таковы: вопросы о Джобсе has_many и Вопросы принадлежат Джобсу.
Я использую действие редактирования для вопросов и получаю сообщение об ошибке:
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
То, чего я не понимаю, это: а) почему он перенаправляет меня на путь индекса вопросов, когда я не перенаправил его туда, и б) он говорит, что это недопустимый маршрут, но если яобновите этот точный URL-адрес, страница загружается правильно.
Я пробовал несколько вариантов, но не могу найти решение.
Спасибо за помощь.Дайте мне знать, если вам нужна дополнительная информация.
ps вот мои рейк-маршруты: https://gist.github.com/1077134