0

我正在制作一个具有 3 个资源的 RoR 应用程序,这些资源按以下顺序嵌套:项目 -> 提要 -> XML_Fields。项目 has_many 提要,提要 has_many XML_Fields。我的问题是我在向 Show Feeds 视图添加添加新 XML_Field 的能力时遇到了困难。我的代码如下:

<h2>Add an XML field:</h2>
<%= form_for ([@feed, @feed.xml_fields.build]) do |f| %>
  <div class="field">
  <%= f.text_area :tag %>
  </div>
  <div class="actions">
  <%= f.submit %>
  </div>
<% end %>

执行此操作会返回一个NoMethodError: undefined method 'tag'. Tag 是我创建的 xml_fields 表中列的名称。我的 xml_fields_controller 有这个创建方法:

def create
@xml_field = Feed.find(params[:feed_id]).xml_fields.build(params[:xml_field])

respond_to do |format|
  if @xml_field.save
    format.html { redirect_to( :back, :notice => 'XML Field was successfully created.') }
    format.xml  { render :xml => @xml_field, :status => :created, :location => [@xml_field.feed, @xml_field] }
  else
    format.html { render :action => "new" }
    format.xml  { render :xml => @xml_field.errors, :status => :unprocessable_entity }
  end
end

结尾

我的路由文件如下所示:

resources :projects do
  resources :feeds
end

resources :feeds do
  resources :xml_fields
end

有什么建议可以让这个 NoMethodError 消失吗?谢谢。

4

1 回答 1

1

模型 XmlField 在数据库中没有标签字段;)

于 2011-09-01T16:30:40.273 回答