0

入力キャプチャが正しかった場合、レコードを更新または作成する前に検証します。
コードを実行すると前のページに戻りますが、入力データがすべてなくなってしまいました.. 前のページで入力した入力データを残すにはどうすればよいですか?

before_filter を使用して、これら 2 つのアクション「更新」と「作成」を適用したいと思います

コントローラ

before_filter :simple_captcha_check, :only => [:update, :create] 

def simple_captcha_check
    if !simple_captcha_valid?
        flash[:error] = 'Wrong Captcha!'
        redirect_to :back
    end
end
4

2 に答える 2

1

アプローチ 1:

理想的には、editnewビューの両方からレンダリングされる共通の更新/作成フォーム パーシャルが必要です。このようなデザインを使用すると、その共通のパーシャルをローカル パラメーターでレンダリングして、フォームに再度入力することができます。これらの値は、フォームを送信した後にアクションが受け取るものと同じです。

アプローチ 2:

ajax を使用してフォームを送信します。送信する前に ajax 呼び出しをsimple_captcha_check行い、成功が返された場合は最後にフォームを送信します。

于 2012-12-22T07:35:00.350 に答える
1

検証エラーが発生したときにページをリダイレクトしないでください。入力テンプレートでレンダリングするだけです。

于 2012-12-22T06:54:59.273 に答える