Я создаю таблицу с источником ассоциации согласно этой документации .
Здесь есть три таблицы со связями и отношениями следующим образом
Категория Таблица является главной таблицей
Таблица продукта относится к таблице категорий, где ее product_id ссылается на категорию (идентификатор)
Продажа таблица относится к таблице Product, где ее sale_id ссылается на идентификатор продукта (id)
Когда я запустил миграцию кода, она прошла успешно, и я смог отобразить содержимое таблицы категорий.
Теперь я хочу также отобразить содержимое таблицы Product и sale согласно этой строке кода
@prod = @categors.products.all
@sal = @prod.sales.all
но это показывает ошибку
undefine method products for #<Categor:ActiveRecord_Relation>
Вот рабочие миграции
Категория Миграции
class CreateCategors < ActiveRecord::Migration[5.2]
def change
create_table :categors do |t|
#has_one :product
#has_one :sale, :through => :product
t.string :cat_name
t.string :car_label
t.timestamps
end
end
end
Миграция продукта
class CreateProducts < ActiveRecord::Migration[5.2]
def change
create_table :products do |t|
t.belongs_to :categor, index: true
t.string :prod_name
t.string :prod_desc
t.timestamps
end
end
end
Продажа Миграция
class CreateSales < ActiveRecord::Migration[5.2]
def change
create_table :sales do |t|
t.belongs_to :product, index: true
t.string :sales_name
t.string :sales_desc
t.timestamps
end
end
end
categor_controller
class CategorsController < ApplicationController
before_action :set_categor, only: [:show, :edit, :update, :destroy]
def index
@categors = Categor.all
@prod = @categors.products.all
@sal = @prod.sales.all
end
раздел обновления
class Categor < ApplicationRecord
end
class Product < ApplicationRecord
end
class Sale < ApplicationRecord
end