Rails中的User_ID外键NULL

时间:2012-12-26 20:01:13

标签: ruby-on-rails ruby-on-rails-3 database-design

我非常确定我已经把一切都搞定了,但外键仍然是NULL

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

USER.rb

has_many :websites

WEBSITE.rb

belongs_to :user

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

可能是什么问题?

1 个答案:

答案 0 :(得分: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')
  4. 之类的操作

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