我很确定我已经得到了正确的一切,但仍然外键为NULL
我有用户和网站作为两个控制器与以下模型
USER.rb
has_many :websites
WEBSITE.rb
belongs_to :user
我已经通过迁移在网站表中添加了user_id外键,也可以看到它。唯一的问题是,当我创建网站时,user_id外键被保存为NULL,而不是用户的ID
可能是什么问题?
不确定,可能是因为您没有正确运行它。请重新检查以下所有条件。
- user_id必须在website表中。要添加迁移,您应该运行
rails g migration AddUserIdToZombies user_id:integer
,然后运行rake db:migrate
- 要确保user_id必须与网站表在一起,请放入验证。
- 要自动分配user_id,您应该执行以下操作:
u = User.find 1
u.websites.create(attr: 'value')
供参考:Rails不使用外键的概念。这意味着他们不把链接放在数据库中。它们只是提供了链接模型的抽象方式。