Rails - 调试嵌套路由

时间:2010-06-09 22:43:26

标签: ruby-on-rails rails-models nested-routes

我有2个模型,评估和问题。评估有很多问题。

在路线中,我有:

map.resources :assessments, :has_many => :questions
map.root :assessments

我检查了rake路线,这是预期的

在创建新问题的表单上,我收到以下错误:

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 Routes - http://pastebin.com/6fKUPTjq

问题控制器代码 - http://pastebin.com/URzpmEcg

评估控制器代码 - http://pastebin.com/HstvFTq4

任何人都可以帮我调试吗?谢谢!

1 个答案:

答案 0 :(得分:1)

你需要

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

在控制器中。否则,@assessmentnil