创建具有多个关联的对象

时间:2013-05-12 19:47:29

标签: ruby-on-rails model associations

如果我有一个带有关联has_many:articles和belongs_to:user的用户和文章模型,我会写 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 个答案:

答案 0 :(得分: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直接写入这些属性的唯一方式