我有一个User
模型和一个Task
模型。我在创建它们时没有提到它们之间的任何关系。
我需要建立 User
has_many
Tasks
和 Task
belongs_to
用户
通过迁移
建立这种关系的迁移生成命令是什么?
最佳答案
您可以调用:
rails g model task user:references
这将生成 user_id
tasks
中的列表并将修改 task.rb
型号添加belongs_to :user
关系。请注意,您必须手动输入 has_many :tasks
或has_one :task
与 user.rb
的关系型号。
如果您已经生成了模型,则可以使用以下内容创建迁移:
rails g migration AddUserToTask user:belongs_to
这将生成:
class AddUserToTask < ActiveRecord::Migration
def change
add_reference :tasks, :user, index: true
end
end
这种方法的唯一区别是 belongs_to :user
task.rb
中的关系模型不会自动创建,因此您必须自己创建。
关于ruby-on-rails - 事件记录迁移 Rails 4 中的 has_many、belongs_to 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17894688/