活动记录中有一个方便的动态属性,称为find_or_create_by:
Model.find_or_create_by_<attribute>(:<attribute> => "")
但是,如果我需要通过多个属性来find_or_create怎么办?
假设我有一个名为GroupMember的模型来处理组与成员之间的M:M关系。我可能有很多实例,其中member_id = 4,但我再也不想拥有一个实例,其中member_id = 4和group_id = 7。
GroupMember.find_or_create(:member_id => 4, :group_id => 7)
我意识到可能有更好的方法来处理此问题,但是我喜欢find_or_create的方便性。