Nouveau à Ruby et Rails, mais je suis livre instruits (qui, apparemment, ne veut rien dire, haha).
J'en ai deux modèles, l'Événement et l'Utilisateur rejoint par le biais d'un tableau EventUser
class User < ActiveRecord::Base
has_many :event_users
has_many :events, :through => :event_users
end
class EventUser < ActiveRecord::Base
belongs_to :event
belongs_to :user
#For clarity's sake, EventUser also has a boolean column "active", among others
end
class Event < ActiveRecord::Base
has_many :event_users
has_many :users, :through => :event_users
end
Ce projet est un calendrier, dans lequel je dois garder la trace de gens de la signature et de rayer leur nom pour un événement donné. Je me figure la nombreux de nombreux est une bonne approche, mais je ne peux pas faire quelque chose comme ceci:
u = User.find :first
active_events = u.events.find_by_active(true)
Parce que les événements n'ONT pas réellement de données supplémentaires, le EventUser modèle ne. Et alors que je pourrais faire:
u = User.find :first
active_events = []
u.event_users.find_by_active(true).do |eu|
active_events << eu.event
end
Cela semble être contraire à "les rails de chemin". Quelqu'un peut m'éclairer, ce qui a été m'énerve pour un long temps ce soir (ce matin)?
Merci beaucoup!