DHH撰写了一篇文章,提倡使用concerns。这似乎是一个好的实践,在许多情况下,他们与我的应用程序很好地配合使用。然而,在多个模型具有类似但稍有不同的方法的几种情况下,存在以下问题:
def find_or_create_membership
user_membership = User::Membership.where(:group_id => self.group_id,
:user_id => self.invitee_id).first_or_create(:status => "invited")
end
并且:
def find_or_create_membership
user_membership = User::Membership.where(:group_id => self.group_id,
:user_id => self.invitee_id).first_or_create(:status => "declined")
end
这两个方法完全相同,只是第一个将
status
设置为 "invited",而第二个将其设置为 "declined"。我能通过关注点传递参数给这些方法吗?