我写了以下迁移:
class AddValidationsToAnimals < ActiveRecord::Migration
def change
add_index :animals, [:name, :user_id], :unique => true
end
end
行。然后,在我的模型中,我添加了以下验证:
validates_uniqueness_of :name, :scope => :user_id
当我尝试添加会损害此规则的注册表时,除非在我看来收到一条漂亮的消息,否则我会遇到RecordNotUnique
异常。
为什么?我该如何解决?
提前致谢。
def create
@animal = current_user.animals.new(params[:animal])
@animal.valid?
respond_to do |format|
if @animal.save
format.html { redirect_to @animal, notice: 'Animal registrado com sucesso.' }
format.json { render json: @animal, status: :created, location: @animal }
else
format.html { render action: "new" }
format.json { render json: @animal.errors, status: :unprocessable_entity }
end
end
end