В настоящее время у меня есть модель клиента с ценами has_many.
Таблица цен:
create_table "pricings", force: true do |t|
t.integer "product_id"
t.integer "client_id"
t.decimal "unit_price"
t.datetime "created_at"
t.datetime "updated_at"
end
Модель ценообразования:
class Pricing < ActiveRecord::Base
belongs_to :client
belongs_to :product
validates :unit_price, presence: true
end
Модель клиента:
class Client < ActiveRecord::Base
has_many :deliveries
has_many :collections
has_many :pricings
accepts_nested_attributes_for :pricings, allow_destroy: true
scope :order_by_name, -> { order('lower(name)') }
validates :name, :address, :vat_number, presence: true
validates :pricings, presence: { :message => ": Products must be added for a client before you can save." }
end
Как вы можете видеть выше, когда я создаю, сохраняю, обновляю клиент, цены должны присутствовать. Теперь я хочу убедиться, что цены имеют уникальный product_id (две цены не могут иметь одинаковый product_id).
Я использую гем кокона («кокон», «~> 1.2.3» — https://github.com/nathanvda/cocoon) и нашел эту статью, чтобы помочь мне, но я действительно изо всех сил пытаюсь понять, куда я должен добавить код?
Ссылка на код, который я не понимаю: http://techbrownbags.wordpress.com/2014/02/05/rails-validation-of-cocoon-nested-forms/
Как я могу адаптировать этот код к моей ситуации?
Pricing
- я опубликую ответ. - person BroiSatse   schedule 09.04.2014