Dans cet exemple, je crée un utilisateur
sans profil
, puis je crée ultérieurement un profil
pour cet utilisateur. J'ai essayé d'utiliser build
avec une association has_one
mais cela a échoué. La seule façon que je vois de le faire fonctionner est d'utiliser has_many
. L' utilisateur
est censé avoir au plus un profil
.
J'ai essayé ceci. J'ai:
class User < ActiveRecord::Base
has_one :profile
end
class Profile < ActiveRecord::Base
belongs_to :user
end
Mais quand je fais:
user.build_profile
Je reçois l'erreur:
ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'profiles.user_id' in 'where clause': SELECT * FROM `profiles` WHERE (`profiles`.user_id = 4) LIMIT 1
Y a-t-il un moyen en rails d'avoir une association à 0 ou 1?
0 votes
Qu'as-tu exactement essayé? Pourrais-tu, s'il te plaît, poster du code?