DHH schrieb eine article befürworten für die Verwendung von Bedenken. Es scheint eine gute Übung zu sein und in vielen Fällen funktionieren sie gut mit meiner App. Es gibt mehrere Fälle jedoch, in denen mehrere Modelle haben ähnliche, aber etwas andere Methoden, wie zum Beispiel:Schienen: Ein Argument an ein Anliegen übergeben
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
und:
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
Diese Verfahren sind identisch, außer daß die ersten Sätze status
zu „eingeladen“ und der zweite "abgelehnt". Gibt es eine Möglichkeit, über ein Anliegen diese Methoden zu diskutieren?
Eine Sache, die ich dafür gemacht habe, ist zu versuchen, zu simulieren, was zum Beispiel eine Klassenmethode macht, die ein Argument nimmt. Hier ist das Entwicklungsbeispiel (https://github.com/plataformatec/devise/blob/master/lib/devise/models.rb#L83), und hier ist zum Beispiel, was ich in einem meiner Projekte getan habe: https://github.com/pjambet/beech-server/blob/master/app/models/concerns/searchable.rb Bitte beachten Sie, dass meine Art, mein Tun zu tun, völlig falsch und dumm ist, dies war nur ein Versuch, das Gerät (und andere) nachzuahmen) Verhalten – pjam
Wie übergibt man den Parameter? – nullnullnull
Sie können die Methode in der Klasse aufrufen und Argumente wie gewohnt übergeben: siehe https://github.com/pjambet/beech-server/blob/master/app/models/user.rb#L40 – pjam