2013-05-12 62 views
0

创建一个对象。如果我有关联的has_many用户和物品模型:文章和belongs_to的:用户,我会写user.articles.new创建一个新的文章对象与正确的USER_ID。
所以我的问题是关于有许多模型belongs_to的关系:
几个协会

class Ownership < ActiveRecord::Base 
      attr_accessible :right_read, :right_create, :right_update, :right_delete 

      belongs_to :element 
      belongs_to :user 
      belongs_to :ownership_type 
    end 

有没有一种解决方案来创建用3个ID的对象所有权完成(element_id,USER_ID,ownership_type_id)?
在“attr_accessible”中写这个ID是否危险? 谢谢。

回答

1

new方法接受一个散列,其中的键匹配模型中的属性。这应该只是罚款:

Ownership.new(:element_id => element_id, :user_id => user_id, :ownership_type_id => ownership_type_id) 

参考:http://apidock.com/rails/ActiveRecord/Base/new/class

而且,不,这并不危险,包括attr_accessible下的属性 - 实际上,这是你就可以直接写的唯一途径他们使用newupdate_attributes