Rails foreign_key не id - PullRequest
       8

Rails foreign_key не id

0 голосов
/ 28 августа 2018

У меня есть две таблицы

class Sku < ApplicationRecord
  validates :sku, :supplier_code, :name, :price, presence: true
  belongs_to :supplier, class_name: 'Supplier', foreign_key: 'code'
end

и

 class Supplier < ApplicationRecord
  validates :code, :name, presence: true
  has_many :skies, class_name: 'Sku'
end

я установил foreign_key как поле code

но когда я попытался создать sku с supplier_code, который я установил для поставщика

Supplier.create(code:4,name:2) => OK

Я получил ошибку {:supplier=>[{:error=>:blank}]},

Sku.create(name:2,price:2,sku:3,supplier_code:4).errors

1 Ответ

0 голосов
/ 28 августа 2018

Вы должны определить на другой модели

class Sku < ApplicationRecord
  validates :sku, :supplier_code, :name, :price, presence: true
  belongs_to :supplier, class_name: 'Supplier', foreign_key: 'code'
end

и

class Supplier < ApplicationRecord
  validates :code, :name, presence: true
  has_many :skies, class_name: 'Sku', primary_key: 'id', foreign_key: 'code'
end
...