как использовать имеет много через с условием в рельсах - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть следующие модели в рельсах.

class User < ApplicationRecord
  has_many :vendors
  has_many :vendoritems, through: :vendors
  has_many  :products

end

class Vendorcode < ApplicationRecord
  has_many :vendoritems
end

class Vendoritem < ApplicationRecord
  belongs_to :vendorcode
  belongs_to :vendor
end

class Vendor < ApplicationRecord
  belongs_to :user
  has_many  :vendoritems
end

class Product < ApplicationRecord
    belongs_to  :user
    belongs_to  :vendorcode
    has_many    :vendoritems, XXXXX  
end

У продукта есть много вендоров через код поставщика и пользователя.

Как я могу реализовать эту связь.

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018
class Product < ApplicationRecord
    belongs_to  :user
    belongs_to  :vendorcode
    def vendoritems
        user.vendoritems.where('vendorcode =?', vendorcode.id)
    end    
end

Я решил проблему.

0 голосов
/ 14 декабря 2018

Я бы просто выбрал метод экземпляра, например, так:

class Product < ApplicationRecord
  belongs_to :user
  belongs_to :vendorcode

  def vendoritems
    user.vendoritems
  end
end

Приветствия!

...