has_many通过表单和添加属性来连接表
这是我的第一个stakoverflow问题,对Rails来说还算新。 我搜索过以前的类似问题,但似乎无法想出这个问题。 我有一个与用户和帐户的has_many关系,我在UserAccount模型(连接表)上有一个额外的布尔属性“account_admin”。 我正在尝试在创建新帐户时弄清楚如何设置它。
用户:
class User :destroy has_many :accounts, :through => :user_accounts .. end
帐户:
class Account :destroy has_many :users, :through => :user_accounts end
用户帐号:
class UserAccount < ActiveRecord::Base belongs_to :user belongs_to :account # includes account_admin boolean end
我希望能够创建一个帐户,将用户分配到该帐户,并在一个表单中指定一个account_admin。 到目前为止我有这个允许我选择帐户中的用户,但我不知道如何在这里设置account_admin布尔值。
= simple_form_for @account do |f| = f.input :name = f.input :description = f.association :users, label_method: :to_label, :as => :check_boxes = f.button :submit
感谢任何提示。 谢谢
账户模型:
class Account < ActiveRecord::Base attr_accessible :name, :description, :user_accounts_attributes has_many :user_accounts, :dependent => :destroy has_many :users, :through => :user_accounts has_many :user_without_accounts, :class_name => 'User', :finder_sql => Proc.new { %Q{ SELECT * FROM users where id NOT IN (Select user_id from user_accounts where account_id = #{id}) } } accepts_nested_attributes_for :user_accounts, reject_if: proc { |attributes| attributes['user_id'] == '0' } def without_accounts new_record? ? User.all : user_without_accounts end end
通知:
= simple_form_for @account do |f| = f.input :name = f.input :description - @account.user_accounts.each do |user_account| = f.simple_fields_for :user_accounts, user_account do |assignment| = assignment.check_box :user_id = assignment.label :user_id, user_account.user.name rescue raise user_account.inspect = assignment.input :account_admin %hr - @account.without_accounts.each do |user| = f.simple_fields_for :user_accounts, @account.user_accounts.build do |assignment| = assignment.check_box :user_id = assignment.label :user_id, user.name = assignment.input :account_admin %hr = f.button :submit
- Rails:ActiveRecord :: HasManyThroughSourceAssociationNotFoundError:找不到源关联
- Rails STI和has_many通过关联不起作用,SQLException:没有这样的表
- Rails 3.1:通过关系在has_many的连接表上自定义validation消息?
- Rails / ActiveRecord has_many through:未保存对象的关联
- Activeadmin formtastic动态选择
- 友谊has_many通过模型与多个状态’
- 如何查找记录,其has_many通过对象包括某些列表的所有对象?
- Rails 3.2 has_many通过表单提交
- 如何在Rails 3中为社交网络应用程序实现友谊模型?