0

私はrubyでajaxを使い始めていますが、問題は、更新を使用して投稿を介してフォームを送信したときに表示される可能性のあるエラーメッセージを取得できないことです。

コントローラ

class InvitesController < ApplicationController

    def request_invite
        render_404 unless request.xhr?

        @invitation = Invite.new(params[:invite])
        if @invitation.save
            @return = { :error => false, :response => "OK" }
        else
            @return = { :error => true, :response => "BAD" } 
        end
        render :json => ActiveSupport::JSON.encode( @return ) 
    end

end

これでカスタムエラーが発生しましたが、「BAD」をフォームが返す実際のエラーに置き換えたいと思います...

モデル

class Invite < ActiveRecord::Base

    validates :email, :presence => true, :uniqueness => true

    validates_format_of :email, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i

end

どうすればそれができますか?

4

1 に答える 1

1

次のようなものを試してください。

@return = { :error => true, :response => @invitation.errors.full_messages.join(", ") }
于 2012-07-24T20:30:46.193 に答える