Espérons que je ne suis pas flambé pour celui-ci trop mauvais - j'ai essayé mon très difficile de trouver une réponse en vain.Déclarer des associations dans Ruby on Rails
Je me demandais si quelqu'un pouvait me aider à comprendre comment déclarer correctement les associations en Ruby on Rails (3). À l'heure actuelle, j'ai 3 modèles:
#room.rb
class Room < ActiveRecord::Base
has_many :check_ins
end
#check_in.rb
class CheckIn < ActiveRecord::Base
belongs_to :user
belongs_to :room
end
#user.rb
class User < ActiveRecord::Base
has_one :check_in
end
Jusqu'à présent, je n'ai pas fait des migrations pour ajouter des colonnes foreign_key à une de mes tables (ne Rails font pour vous?).
Je suis confus au sujet de pourquoi la commande CheckIn.first.user
renvoie nil
alors que la commande User.first.check_in
renvoie SQLite3::SQLException: no such column
. La même chose se produit par rapport à CheckIn.first.room
et Room.first.check_ins
, respectivement. Que dois-je faire pour que User.first.check_in
renvoie l'objet CheckIn associé au premier utilisateur et Room.first.check_ins
renvoie l'ensemble de CheckIns associé au premier Room?
Toute aide serait grandement appréciée.
Charlie
Grande réponse - très descriptif! L'idée principale qui me manquait était que j'avais besoin d'ajouter les colonnes user_id et room_id à check_in via une migration. En outre, merci pour le conseil sur l'idée ': through' - cela vous sera utile! – candrews