我正在寻找为以下数据结构构建表单的正确方法:
class Profile < ActiveRecord::Base
attr_accessible :name
has_many :weights
accepts_nested_attributes_for :weights
end
class Tag < ActiveRecord::Base
attr_accessible :name
has_many :weights
end
class Weight < ActiveRecord::Base
attr_accessible :weight, :profile_id, :tag_id
belongs_to :profile
belongs_to :tag
end
在编辑个人资料表单中,我想提取所有权重并允许用户更新它们。我已经能够使用嵌套属性这样做:
<%= form_for [:admin, @profile] do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :name %>
<%= f.text_field :name %>
</p>
<div class='weights'>
<%= f.fields_for :weights do |ff| %>
<%= ff.label :weight %>
<%= ff.text_field :weight %>
<% end %>
</div>
<%= f.submit %>
<% end %>
问题是我实际上想要在每个权重行上引入相关tag_id的标题(这样人们就知道它们正在改变哪个权重标记)。我没有看到一种方法来提取这些信息,我应该在写这个表格之前做某种加入吗?这是一种愚蠢的做法吗?
谢谢大家
-Neil
答案 0 :(得分:0)
您应该能够通过ff.object
获得权重并通过ff.object.tag.title
进行标记。你试过这个吗?