【发布时间】:2017-06-29 16:15:00
【问题描述】:
我正在使用 Rails 4。我有一个用户模型。现在我想创建一个名为 Follow 的新模型。表 followings 将包含列 user_id 和 followed_user_id,它们是引用 users 表中记录的外键。
我有一个 Active Record 迁移来创建 followings 表,比如
class CreateFollowings < ActiveRecord::Migration
def change
create_table :followings do |t|
t.references :user, index: true, foreign_key: true
end
end
end
这将创建列user_id。如何使用t.references 语法创建followed_user_id 列?
这不是 Rails 4 特有的问题。因此,如果在 Rails 5 或 Rails 3 中可以这样做,请也发表评论。
我不是在问如何设置模型。这个问题只涉及到数据库中的迁移和建表。
【问题讨论】:
-
试试
t.references :followed_user, index: true, foreign_key: true, class_name: 'User' -
这不起作用。我收到错误
PG::UndefinedTable: ERROR: relation "followed_users" does not exist
标签: ruby-on-rails ruby-on-rails-4 ruby-on-rails-3.2 ruby-on-rails-5