我需要将 journals 和 journal_entries 中的字段放在表的一行中,并且能够在同一个视图中添加和显示许多数据条目行。(即行表并使用带有accepts_nested_attributes 的link_to_add_fields 来扩展表中的行)。
必须有某种f.parent.text_field 或 f.object.parent.text_field吗?
我正在尝试执行以下操作
<table>
#in a :pm namespace
<%= form_for [:pm, @lease] do |f| %>
<%= f.fields_for :journal_entries do |journal_entries| %>
<%= render "journal_entry_fields" , f: journal_entries %>
<% end %>
<%= link_to_add_fields "+ Add transactions", f, :journal_entries %>
<% end %>
</table>
_journal_entry_fields.html.erb
<fieldset>
<tr>
## HERE IS WHAT I'M LOOKING FOR <<<<<<<<<<<!!>>>>>>>>>>>>>
<td><%= f.parent.text_field :dated %></td>
<td><%= f.parent.text_field :account_name %></td>
<td><%= f.text_field :credit %></td>
<td><%= f.text_field :notes %></td>
</tr>
</fieldset>
我的模特
class Lease < ActiveRecord::Base
has_many :journals, :order => [:dated, :id] #, :conditions => "journals.lease_id = id"
has_many :journal_entries, :through => :journals
accepts_nested_attributes_for :journal_entries , :allow_destroy => true
accepts_nested_attributes_for :journals , :allow_destroy => true
end
class Journal < ActiveRecord::Base
belongs_to :lease, :conditions => :lease_id != nil
has_many :journal_entries
accepts_nested_attributes_for :journal_entries , :allow_destroy => true
end
class JournalEntry < ActiveRecord::Base
belongs_to :journal
end
我正在使用 Rails 3.2.12 和 ruby 1.9.3
我试图看看这是否比面临的问题更好的解决方案:rails link_to_add_fields not added fields with has_many :through (with nested form inside)
我做了一个不同的线程,因为我认为它非常不同。
谢谢,菲尔