0
でフォームを受け取るために同じアクションを使用して、このようなアクション:処理し、私はRailsの
def add_credit_card
if request.post?
unless params[:conditions]
flash[:error] = 'You need to accept!'
end
end
end
このアクションは、次のビューをレンダリング:
<%= form_tag do %>
<fieldset>
<%= check_box_tag "conditions"%> I agree to the <%= link_to "Terms and Conditions", consumer_terms_and_conditions_url, :target => "_blank" %>
</fieldset>
<%= submit_tag "Submit" %>
<% end %>
私はそのアクションにGETしない場合にはエラーが表示されます。私がそのボックスでサブミットすると、エラーは表示されません。チェックボックスを選択せずに最初のサブミットを実行すると、エラーが表示されますが、別のサブミットを実行すると問題が発生します。
私の質問は以下のとおりです。
- は、なぜそれが起こっているのでしょうか?
- フォームがモデルにアタッチされておらず、ユーザーがフォームを送信したときにエラーを表示する必要があるこの状況を処理するためのより良いアプローチは何でしょうか。
私は編集しました。私は間違って入力しました、申し訳ありません。それは問題ではありません... – Nobita
ああ、私は私の最初のsolnからそれを削除します。代わりに別の可能な解決策を追加しました。 – miked
私は最終的にこれを試してみましたが、問題は次のリクエストに続くフラッシュハッシュです。リダイレクトしていないので、flash.nowを使用したいと思うでしょう – miked