form_for问题

时间:2010-12-15 04:52:47

标签: ruby-on-rails form-for

我想在“后视图”

中制作一个“评论”表单

但这个助手无法正常工作

 <%= form_for([@post, @comment]) do |f| %>
   ...
 <% end %>

rvm 1.9.2 rails 3.0.3

修改1 : 错误:

undefined method `model_name' for NilClass:Class

编辑2 摘录的来源(第23行):

20: <% end %>
21: </ul>
22: 
23: <%= form_for [@list,@item] do |form| %>
24:     
25: <%= form.text_field :due %>
26: <p><%= form.text_field :title %>

申请追踪

app/views/lists/show.html.erb:23:in `_app_views_lists_show_html_erb___3300490552675426158_2162821280_4216612080991561324'
app/controllers/lists_controller.rb:22:in `show'

信息列表| has_many项目。 项目| belongs_to list

2 个答案:

答案 0 :(得分:3)

看看是否有效

<% form_for @post, :url => { :action => "create" } do |post_form| %>
  ...
  <% post_form.fields_for :comments do |comment_fields| %>
     Comment ID: <%= comment_fields.text_field :id %>
   <% end %>
<% end %>

您可以查看http://guides.rubyonrails.org/form_helpers.html(参见7.3使用表单助手)

答案 1 :(得分:0)

好的,我做了什么。

路由

  resources :lists do
    resources :items
  end

列出控制器

  def show
    @list = List.find(params[:id])
    @item = @list.items.new


    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @list }
    end
  end

show.html.erb

<%= form_for([@list, @item]) do |form| %>
 <p><%= form.text_field :title %>
 <%= form.submit %></p>
<% end %>