我对gem nested_form有一点问题。我有:
class Factura < ActiveRecord::Base
attr_accessible :itemfacturas_attributes
has_many :itemfacturas
has_many :productos, :through => :itemfacturas
accepts_nested_attributes_for :itemfacturas, :reject_if => lambda { |a| a[:descripcion].blank? }, :allow_destroy => true
和ItemFactura类
class Itemfactura < ActiveRecord::Base
attr_accessor :vu, :vt, :descripcion
belongs_to :factura
belongs_to :producto
我在facturas / new视图中使用了gem来添加itemfacturas。
<%= f.fields_for :itemfacturas do |b| %>
<%= render 'itemfacturas/itemfacturas', f: b %>
<% end -%>
<%= f.link_to_add "Agregar item", :itemfacturas %>
部分是:
<%= f.number_field :cantidad, :min => 0, :value => 1 %>
<%= f.text_field :descripcion, :class => "desc_autocomplete" %>
<%= f.text_field :vu %>
<%= f.text_field :vt %>
<%= f.hidden_field :producto_id%>
<%= f.link_to_remove "Eliminar" %>
但我有这个错误:
Facturas中的NoMethodError#new
显示 /Users/fabricioflores/desarrollo/facturacion/app/views/itemfacturas/_itemfacturas.html.erb 第7行提出的地方:
的未定义方法`link_to_remove'
如果我对包含link_to_remove的行发表评论,我还有另一个关于link_to_add的错误
我按照https://github.com/ryanb/nested_form的步骤操作但是没有用。我正在使用Rails 3.2.9和nested_form(0.3.1)
答案 0 :(得分:4)
好的,我解决了。以facturas / new的形式,我需要把
<%= nested_form_for @factura do |f| %>
这是无法找到link_to_add和link_to_remove的原因,因为它是一个不同的帮手。