как насчет использования ActiveModel :: Validations?
Вы не хотите сохранять запись, если какой-либо атрибут не заполнен. Поэтому вам нужна проверка.
class Product < ActiveRecord::Base
validates_presence_of :name, :price, :store_id
end
Edit:
ваш код выглядит так, что вы хотите создавать продукты muti, использующие общие атрибуты.
это могут быть такие параметры:
{"products" => {:1 => {:name => "good", :desc => "sss"}}, {:2 => {:name => "good", :desc => "tt"}}, "product" => {:price => "10"} }
контроллер
def create_multiple
@products = params [: products] .values.collect do | up |
Product.new (up.merge (PARAMS [: продукт]))
конец
if @ products.each (&: сохранить)
redirect_to: back,: note => "Успех!"
еще
визуализация: новый
конец
конец
Валидация не требует изменений. но форма немного усложнит.
form_tag "/products" do
%p
= text_field_tag "product[price]", @products.first.price
= @products.first.errors[:price]
- @products.each_with_index do |product, idx|
= text_field_tag "products[#{idx}][name]", product.name
= product.errors[:name]
= submit_tag :submit
код прост, вы можете улучшить вид самостоятельно.