1

我很确定我已经做对了,但外键仍然是 NULL

我有 USER 和 WEBSITE 作为两个具有以下型号的控制器

用户.rb

has_many :websites

网站.rb

belongs_to :user

我也通过迁移在网站表中添加了 user_id 外键,也可以看到它。唯一的问题是,当我创建 WEBSITE 时,user_id 外键被保存为 NULL 而不是用户的 ID

可能是什么问题?

4

1 回答 1

0

不确定,可能是因为你没有正确运行它。请重新检查以下所有条件。

  1. user_id 必须在网站表中。要添加迁移,您应该运行rails g migration AddUserIdToZombies user_id:integer,然后rake db:migrate
  2. 为确保 user_id 必须与网站表一起存在,请进行验证。
  3. 要自动分配 user_id,您应该执行类似的操作u = User.find 1 u.websites.create(attr: 'value')

仅供参考:Rails 不使用外键概念。这意味着他们没有将链接放入数据库中。它们只是提供链接模型的抽象方式。

于 2012-12-26T20:22:44.307 回答