Я прошел через множество вопросов о вложенных ресурсах form_for и не могу найти ни одно из решений, которые работали бы на меня. Я решил, что пришло время задать индивидуальный вопрос.
У меня есть две модели, задания и вопросы, задания имеют_много вопросов и вопросы принадлежат заданиям.
Я использовал скаффолдинг для создания контроллеров и моделей, а затем вложил ресурсы в route.rb.
root :to => "pages#home"
resources :jobs do
resources :questions
end
get "pages/home"
get "pages/about"
get "pages/contact"
class Job < ActiveRecord::Base
has_many :questions
end
class Question < ActiveRecord::Base
belongs_to :job
end
Прямо сейчас я пытаюсь получить доступ к «/jobs/1/questions/new» и продолжаю получать
NoMethodError в вопросах#новый
Я начал с ошибки Нет совпадений маршрутов {:controller=>"questions"}, когда код был
<%= form_for(@question) do |f| %>
Я знаю, что это неправильно, поэтому я начал пробовать другие комбинации, и ни одна из них не сработала.
я пробовал
<%= form_for([@job.questions.build ]) do |f| %>
тот
<%= form_for([@job, @job.questions.build ]) do |f| %>
тот
<%= form_for(@job, @question) do |f| %>
Среди кучи других комбинаций и те, что не работают.
Вот ссылка на мои рейк-маршруты: git clone https://gist.github.com/1032734
Любая помощь приветствуется и дайте мне знать, если вам нужна дополнительная информация, спасибо.