1

我写了以下迁移:

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
4

1 回答 1

1

请在此处粘贴您的方法代码。是普通的object.save吗?尝试在object.valid?之前调用并检查它是否正在返回false

于 2012-09-14T00:21:01.410 回答