ในตัวอย่างนี้ฉันสร้าง a userโดยไม่มีprofileจากนั้นสร้าง a profileสำหรับผู้ใช้นั้นในภายหลัง ฉันลองใช้บิลด์กับhas_oneสมาคม แต่มันระเบิด has_manyวิธีเดียวที่ผมเห็นการทำงานนี้คือการใช้ ควรจะมีเพียงหนึ่งมากที่สุดuserprofile
ฉันได้ลองสิ่งนี้แล้ว ฉันมี:
class User < ActiveRecord::Base
has_one :profile
end
class Profile < ActiveRecord::Base
belongs_to :user
end
แต่เมื่อฉัน:
user.build_profile
ฉันได้รับข้อผิดพลาด:
ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'profiles.user_id' in 'where clause': SELECT * FROM `profiles` WHERE (`profiles`.user_id = 4) LIMIT 1
มีวิธีในทางรถไฟที่จะมีการเชื่อมโยง 0 หรือ 1 หรือไม่?