W tym przykładzie tworzę user
bez profile
, a później tworzę profile
dla tego użytkownika. Próbowałem użyć kompilacji ze has_one
skojarzeniem, ale to wybuchło. Jedynym sposobem, w jaki widzę, że to działa, jest użycie has_many
. user
Ma mieć tylko co najwyżej jeden profile
.
Próbowałem tego. Mam:
class User < ActiveRecord::Base
has_one :profile
end
class Profile < ActiveRecord::Base
belongs_to :user
end
Ale kiedy robię:
user.build_profile
Wyskakuje mi błąd:
ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'profiles.user_id' in 'where clause': SELECT * FROM `profiles` WHERE (`profiles`.user_id = 4) LIMIT 1
Czy istnieje sposób w szynach na 0 lub 1 skojarzenie?