Я только начал пробовать руки на Ruby на рельсах. Я создал режим состояние и хочу, чтобы каждое имя государства должно оставаться уникальным, так что я использовалВалидация уникальности аутентификации Activerecord ruby on rails 4.2
uniqueness: true
согласно http://guides.rubyonrails.org/active_record_validations.html. Как указано выше, в документе говорится, что проверка выполняется автоматически при вызове object.save. но когда я пытаюсь сохранить объекты с таким же значением state_name, не генерируется исключение, и запись сохраняется. Могу ли я помочь, когда я делаю это неправильно.
код модели
кодclass State < ActiveRecord::Base
acts_as_paranoid
validates_presence_of :state_name ,uniqueness: true
end
Контроллер
def create
@stateName = params[:stateName];
@state = State.new();
@[email protected];
if(@state.save())
resp = { :message => "success" }
else
resp = { :message => "fail" }
end
respond_to do |format|
format.json { render :json => resp }
end
end
Заранее спасибо за помощь!
Okay .. спасибо за помощь. Если мне нужно создать уникальное ограничение в базе данных, чтобы обеспечить уникальность, почему даже я беспокоюсь о подтверждении уникальности с помощью модели ... db wont let duplicate entry come in anyhow !!! –