1
我目前有一個非常簡單的模型「優惠券」。我突然有興趣再添加兩個字段,「redeem_code」和「redeemed」到模型中,原因很明顯。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