Rails - отладки вложенных маршрутов
-
26-09-2019 - |
Вопрос
У меня есть 2 модели, оценки и вопросы. Оценки имеют много вопросов.
В маршрутах у меня есть:
map.resources :assessments, :has_many => :questions
map.root :assessments
Я проверил маршруты граблей, это как ожидалось
В форме создать новый вопрос, я получаю следующую ошибку:
undefined method `questions_path' for #<ActionView::Base:0x6d3cdb8>
Если я вынуму форму, вид нагрузки в порядке, поэтому я думаю, что это что-то с кодом в этом представлении - Я получаю ошибку на линии form_for:
<h1>New question</h1>
<% form_for [@assessment, @question] do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :content %><br />
<%= f.text_field :content %>
</p>
<p>
<%= f.submit 'Create' %>
</p>
<% end %>
<%= link_to 'Cancel', assessment_path(@assessment) %>
Райки маршруты - http://pastebin.com/6fkupwhq.
Код для контроллера вопросов - http://pastebin.com/urzpmecg.
Код для оценки контроллера - http://pastebin.com/hstvftq4.
Может кто-нибудь помочь мне отладить это? Спасибо!
Решение
Тебе нужно иметь
@assessment = Assessment.find(params[:assessment_id])
в контроллере. Иначе, @assessment
является nil
.
Не связан с StackOverflow