1

私は次の移行を書きました:

class AddValidationsToAnimals < ActiveRecord::Migration
  def change
    add_index :animals, [:name, :user_id], :unique => true
  end
end

Ok。次に、モデルに次の検証を追加します。

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 に答える