我一直想弄清楚这件事,但还是不走运。我有一个连接公司和人员的company_relationships表,其中存储了一个额外的字段来描述关系的性质,称为“corp_credit_id”。我可以让表单很好地为一个人添加公司关系,但是我似乎不知道如何设置修饰符字段。有什么想法吗?
更多关于我的项目:人们通过公司关系有很多公司。有了这个额外的字段,我用它将所有特定的关系组合在一起。所以我可以把一个人的医生、承包商等组织起来。
我的模型:
company.rb(节略)
class Company < ActiveRecord::Base
include ApplicationHelper
has_many :company_relationships
has_many :people, :through => :company_relationships
person.rb(简写)
class Person < ActiveRecord::Base
include ApplicationHelper
has_many :company_relationships
has_many :companies, :through => :company_relationships
accepts_nested_attributes_for :company_relationships
公司关系.rb
class CompanyRelationship < ActiveRecord::Base
attr_accessible :company_id, :person_id, :corp_credits_id
belongs_to :company
belongs_to :person
belongs_to :corp_credits
end
我的表单部分,使用formtastic。
<% semantic_form_for @person do |f| %>
<%= f.error_messages %>
<% f.inputs do %>
...
<%= f.input :companies, :as => :check_boxes, :label => "Favorite Coffee Shops", :label_method => :name, :collection => Company.find(:all, :conditions => {:coffee_shop => 't'}, :order => "name ASC"), :required => false %>
所以我想做的是:corp_credit_id=>'1'在输入中为咖啡店分配该属性。但是formtastic似乎不允许这个任务发生。
有什么办法吗?
最佳答案
你在找什么
<% semantic_form_for @person do |form| %>
<% form.semantic_fields_for :company_relationships do |cr_f| %>
<%= cr_f.input :corp_credit_id %>
<% end %>
在documentation
关于ruby-on-rails - 使用Formtastic分配嵌套属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4029066/