0

我正在寻找为以下数据结构构建表单的正确方法:

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 的标题(这样人们就知道他们正在更改哪个权重的标签)。我看不到提取此信息的方法,我是否应该在写出此表格之前进行某种形式的加入?这是一种愚蠢的方法吗?

感谢大家

-尼尔

4

1 回答 1

0

You should be able to get at the weight through ff.object and tag through ff.object.tag.title. Have you tried this?

于 2013-01-22T20:14:09.157 回答