У меня есть лебедь FlavorPizza и эстакада размераPizza. Мне нужно установить цену аромата пиццы на основе его размера (цена маленькой пиццы отличается от большой). Итак, я создал модель PricePizza, у которой есть: flavor_pizza_id,: size_pizza_id и: атрибуты цены.Rails 4 ошибка при посеве has_many
Я хотел бы, когда я создавать/редактировать объект FlavorPizza, чтобы пропускать: price_pizza Params, так же, как тот
FlavorPizza.create({
name: 'Muzzarela',
price_pizzas:[
{size_pizzas_id: 1, price:'9.99'},
{size_pizzas_id: 2, price:'12.99}
]
})
Я попытался с помощью имеет много до конца, но я продолжаю получать ошибки. не определен метод unscoped
Вот мой код:
price_pizza миграция:
create_table :price_pizzas do |t|
t.integer :size_pizzas_id
t.integer :flavor_pizzas_id
t.decimal :price, :precision => 5, :scale => 2
t.timestamps null: false
end
price_pizza.rb
class PricePizza < ActiveRecord::Base
has_many :flavor_pizzas
belongs_to :size_pizza
belongs_to :flavor_pizza
end
flavor_pizza.rb
class FlavorPizza < ActiveRecord::Base
has_many :price_pizzas
accepts_nested_attributes_for :price_pizzas
end
size_pizza.rb
class SizePizza < ActiveRecord::Base
has_many :price_pizzas
end
seeds.rb
SizePizza.create([{name: 'Small', diameter: '5.5', pieces: 3}])
FlavorPizza.create([{name: 'Muzzarela', description: 'test description', price_pizzas_attributes: [{size_pizzas_id: 1, price: '9.99'}]}])
#PricePizza.create(size_pizzas_id: 1, flavor_pizzas_id: 1, price: '10')
когда в seeds.rb, я изменить price_pizzas_attributes к price_pizzas, я получаю ошибку: ActiveRecord :: AssociationTypeMismatch: PricePizza (# 49716420) ожидается, получил Hash (# 10028260) – Aleksandrus