【发布时间】:2015-10-05 16:09:11
【问题描述】:
我正在开发一个 Rails 项目(Rails 版本 4.2.3)。
我创建了一个User 和Task 模型,但在创建过程中没有包含它们之间的任何关联。
现在我想要一个user 有许多tasks 和一个task 属于一个user。
通过rails g migration AddUserToTask user:belongs_to 从this thread
我能够在任务表中插入外部 user_id 键。但是如何添加has_many 迁移?我更新了User 模型:
class User < ActiveRecord::Base
has_many :customers
end
但我不确定我必须如何编写迁移。到目前为止,我写了这个:
class addTasksToUser < ActiveRecords::Migration
def change
update_table :users do |t|
t.has_many :tasks
end
add_index :users, taks_id
end
end
但是rake db:migrate 没有执行任何操作。这是设置has_many 关系的正确方法吗?
【问题讨论】:
-
你做错了。在模型中添加关联,在迁移中添加对应字段。
-
只需在模型中添加关联。
-
对我来说,这个问题的更好答案在这里:stackoverflow.com/a/17928074/4179050
标签: ruby-on-rails ruby-on-rails-4 activerecord ruby-on-rails-5 ruby-on-rails-6