在当前模型中添加另一个命名空间中的模型作为外键

时间:2018-12-27 06:58:49

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

在Rails中,我想将model_id作为外键包含到另一个namepcae中存在的另一个模型中。 我有两个型号
首先:

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

2 个答案:

答案 0 :(得分:2)

生成迁移的命令:

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

答案 1 :(得分:0)

我想出了一种方法。 将迁移修改为:

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