首页 > 解决方案 > 在另一个命名空间中添加一个模型作为外键

问题描述

在 Rails 中,我想将 model_id 作为外键包含到另一个名称空间中存在的另一个模型中。我有两个模型作为
第一个:

class Garment < ApplicationRecord
end

第二:

class Superadmin::Company < ApplicationRecord
end

我正在使用以下命令。

 rails g migration addCompanyIdToGarment company:references

输出如下:

class AddCompanyIdToGarment < ActiveRecord::Migration[5.0]
  def change
    add_foreign_key :garments, :company
  end
end

这是不正确的,请提供正确的命令或过程来执行此操作。
数据库中表的名称如下:

superadmin_companies 
garments

标签: ruby-on-railsruby-on-rails-3ruby-on-rails-4ruby-on-rails-3.2ruby-on-rails-5

解决方案


生成迁移的命令:

rails g migration addCompanyIdToGarment superadmin_company:references

迁移文件:

class AddCompanyIdToGarment < ActiveRecord::Migration[5.1]
  def change
    add_reference :garments, :superadmin_company, foreign_key: true
  end
end

推荐阅读