0

我正在建立一个关系公司:has_many 注释。

我希望能够在 Comany#show 资源中为刚创建的公司添加一些新注释。所以在公司脚手架的show.html.erb

我已经一步一步地遵循了茧演示应用程序和 github mardown,但示例仅显示了将嵌套属性添加到 _form.html.erb 部分的方法。我不知道是否有一些特殊的事情要做不同的事情,但是当我尝试运行 Company#show 操作时,它会检索到这个错误:

未定义的方法`new_record?对于零:NilClass

这是我的代码:

显示.html.erb:

...
  <%= simple_form_for :notes, :html => { :class => 'form-horizontal' } do |note| %>
    <%= render 'note_fields', :f => note %>
  <% end %>
  <%= link_to_add_association 'Aggiungi Nota', f, :notes, :render_options => {:wrapper => 'inline' } %>
...

_note_fields.html.erb:

...
<div class="nested-fields">
<%= f.input :body %>
<%= link_to_remove_association "Elimina Nota", f %>
</div>
...

公司.rb:

  ...
    has_many :notes
    accepts_nested_attributes_for :notes, :reject_if => :all_blank, :allow_destroy => true
  ...

笔记.rb

class Note < ActiveRecord::Base
     attr_accessible :body, :company_id
     belongs_to :company
end

company_controller.rb

  def show
    @company = Company.includes(:category, :clients, :notes).find(params[:id])

    @mapCompany = Company.find(params[:id]).to_gmaps4rails

    respond_to do |format|
     format.html # show.html.erb
     format.json { render json: @company }
    end
  end

谢谢!戴夫

4

1 回答 1

2

在下面的代码中,f从未定义过变量。

<%= link_to_add_association 'Aggiungi Nota', f, :notes, :render_options => {:wrapper => 'inline' } %>

尝试使用company而不是f.

于 2012-11-29T17:35:48.407 回答