Я хочу, чтобы все продукты добавлялись в зависимости от бренда,
У меня есть марка и товарные леса,
Я создаю бренд, как это: рельсы создают леса
и создать ассоциацию has_many продукта с лесами бренда:
рельсы генерируют строительные леса Название продукта: строка бренда: ссылки
модель моего бренда
class Brand < ApplicationRecord
has_many :products
end
модель продукта
class Product < ApplicationRecord
belongs_to :brand
end
миграция бренда
class CreateBrands < ActiveRecord::Migration[5.2]
def change
create_table :brands do |t|
t.string :brandname
t.timestamps
end
end
end
миграция продукта
class CreateProducts < ActiveRecord::Migration[5.2]
def change
create_table :products do |t|
t.string :productname
t.references :brand
t.timestamps
end
end
end
Фирменный контроллер
class CreateProducts < ActiveRecord::Migration[5.2]
def change
create_table :products do |t|
t.string :productname
t.references :brand
t.timestamps
end
end
end
Контроллер продукта
class ProductsController < ApplicationController
before_action :set_product, only: [:show, :edit, :update, :destroy]
def index
@products = Product.all
end
def new
@product = Product.new
end
def create
@product = Product.new(product_params)
respond_to do |format|
if @product.save
format.html { redirect_to @product, notice: 'Product was successfully created.' }
format.json { render :show, status: :created, location: @product }
else
format.html { render :new }
format.json { render json: @product.errors, status: :unprocessable_entity }
end
end
end
def update
respond_to do |format|
if @product.update(product_params)
format.html { redirect_to @product, notice: 'Product was successfully updated.' }
format.json { render :show, status: :ok, location: @product }
else
format.html { render :edit }
format.json { render json: @product.errors, status: :unprocessable_entity }
end
end
end
def destroy
@product.destroy
respond_to do |format|
format.html { redirect_to products_url, notice: 'Product was successfully destroyed.' }
format.json { head :no_content }
end
end
private.
def set_product
@product = Product.find(params[:id])
end
def product_params
params.require(:product).permit(:productname, :brand_id)
end
end
Я успешно обработал марку, но я пробовал новый продукт в зависимости от марки. Я получаю сообщение об ошибке:
1 ошибка запретила сохранение этого продукта:
Бренд должен существовать
Как это исправить, спасибо за предложения