私は現在非常に単純なモデル "クーポン"を持っています。私は突然、「redeem_code」と「redeemed」の2つのフィールドを明示的な理由でモデルに追加することに興味があります。Rails非RESTfulジレンマ?
私は、商人がコードに基づいてクーポンを利用することを見たいと考えています。
私はへの考えることができる最も簡単な方法は、ただ、これはこのようなものになるだろうか。
def redeem
#renders the page
end
def redeem_post
redeem_code = params[:redeem_code]
deal = Deal.find_by_redeem_code(redeem_code)
if deal.nil?
# BUG: Somehow here you will be logged out
redirect_to deals_path
else
if deal.update_attribute(:redeemed, true)
redirect_to deals_path
end
end
end
私に関する限り、レールは本当に非安らかなインタフェースをサポートしていません。私は昨夜フォームヘルパーを掘り起こしてみましたが、私は本物の速い何かtogehter置くので、私は何かを見つけることができませんでした:私が考案し使用しています
<form action="<%= deals_redeem_post_path %>" method="post">
<table>
<tr>
<th> Code: </th>
<td> <input type="text" name="redeem_code" /> </td>
</tr>
<tr>
<th></th>
<td> <input type="submit" text="Submit" /> </td>
</tr>
</table>
</form>
。私が今経験しているバグは、ユーザーがこのフォームを送信すると、自動的にログアウトされます。
どのように私はこれを修正することができますかこれをよりエレガントに実装する任意のアイデア?
ニース説明! – rubish
うんうん!私はクラス変数なしでform_forを使うことができます – disappearedng