2010-06-09 13 views
0

У меня есть 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) %> 

Rake Маршруты - http://pastebin.com/6fKUPTjq

код на вопрос контроллер - http://pastebin.com/URzpmEcg

Код для контроллера оценки - http://pastebin.com/HstvFTq4

Может кто-нибудь помочь мне отлаживать его? Благодаря!

+0

Правильный метод должен быть оценен_questions_path, я думаю. Не знаю, почему именно почему-то вызывается. – alternative

+0

Yeah - evaluation_questions_path - это то, что я думаю, что он должен позвонить, но я не уверен, почему это не так. – stringo0

+0

Не могли бы вы использовать код контроллера? – alternative

ответ

1

Вы должны иметь

@assessment = Assessment.find(params[:assessment_id]) 

в контроллере. В противном случае @assessment - nil.

+0

Спасибо за помощь и терпение :) – stringo0