我有3个模型,用户,军队和工程师。当用户创建属于他们的军队时,他们可以检查名为siege
的复选框,该复选框将创建属于该军队和用户的工程师。尽管如此,我仍然对大规模任务感到担忧该工程师可以通过我的方法在我的军队模型创建:有没有办法改变这种质量指派设计?
attr_reader :siege
after_save :if_siege
private
def if_siege
if self.siege
Engineer.create!(:user_id => self.user.id, :army_id => self.id)
end
end
end
但据我所知,只有这样才能同时拥有的ID的分配是做这在我的工程师模型:
class Engineer
attr_accessible :user_id, :army_id
即使工程师永远不会在表单上创建工程师,但这样做似乎并不安全,但会自动通过链接或复选框创建。理想的是自动分配这两个属性,如控制器中所做的。例如
example = current_user.examples.build(params[:example])
你觉得呢?他们是这种设计的替代品吗?
质量分配是我的一个棘手的问题.....