-1
Benutzer haben viele Karten und Karten haben viele Benutzer, mit einer has_many durch Beziehung.Wenn Datensatz Benutzer hat?
# card.rb
has_many :card_assignments
has_many :users, :through => :card_assignments
# user.rb
has_many :card_assignments
has_many :cards, :through => :card_assignments
# card_assignment.rb
belongs_to :user
belongs_to :card
Meiner Meinung nach möchte ich prüfen, ob der aktuelle Benutzer einer der Benutzer ist, der zur Karte gehört, wenn das Sinn macht?
Sie nutzen könnten [ 'existiert?'] (Http://devdocs.io/rails~5.0/activerecord/findermethods#method-i-exists-3F), z.B '@ card.card_assigments.exists? (user_id: current_user.id)' oder 'current_user.card_assignments.exists? (card_id: @ card.id)'. Dies würde bei jeder Verwendung eine Datenbankabfrage durchführen. Je nachdem, wie viele Karten Sie überprüfen möchten, kann 'current_user.card_assignment_ids.include? (@ Card.id)' ebenfalls helfen (dies sollte die Datenbank zumindest automatisch zwischenspeichern) Abfrageergebnisse). –