ruby-on-rails - 事件记录迁移 Rails 4 中的 has_many、belongs_to 关系

标签 ruby-on-rails rails-activerecord ruby-on-rails-4 rails-migrations

我有一个User 模型和一个Task 模型。我在创建它们时没有提到它们之间的任何关系。

我需要建立 User has_many TasksTask belongs_to 用户通过迁移

建立这种关系的迁移生成命令是什么?

最佳答案

您可以调用:

rails g model task user:references

这将生成 user_id tasks 中的列表并将修改 task.rb型号添加belongs_to :user关系。请注意,您必须手动输入 has_many :taskshas_one :taskuser.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/

相关文章:

html tidy 和 rails 应用程序 - erb 或 rthml 文件。 ruby 替代品?

javascript - 如何使用 ActionCable websockets 处理 js 加载器?

mysql - 使用 Rails Admin 创建双连接查询

ruby-on-rails - 如何在没有 'create' 操作的情况下实现 'new' 操作

ruby-on-rails - Friendly_id 在记录更新时更改 slug

ruby-on-rails - 在Nitrous.io上设置Elasticsearch

ruby-on-rails - Multi-Tenancy 应用程序中的授权

ruby-on-rails - ActiveRecord belongs_to 关联中的 PostgreSQL jsonb 字段

ruby-on-rails - 橄榄球运动员的 Rails 模型关系

ruby-on-rails-4 - 在关注中定义的覆盖范围内调用 super