如果我有一个带有关联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是危险的吗?
谢谢。
答案 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
下包含这些属性并不危险 - 实际上,这是您能够使用new
或update_attributes
直接写入这些属性的唯一方式