0
我有一個工作表單,這是與AJAX submited正確處理爲'/'。這是一個額外的確認數據散列(並需要確認提交)。 當我想形式不確認,強麥看起來不錯,但通話將被視爲HTML和失敗由於缺少模板Rails的form_tag遠程:真正處理爲HTML(不* 1 *)沒有'數據'哈希
其中一個頁面都形成做好自己的「東西」:
<h1>GOOD ajax call as */* looking for 'coupon_apply.js.erb'</h1>
<%= form_tag(coupon_apply_path, method: :post, data: { confirm: t('are_you_sure') }, id: 'apply-coupon', remote: true) do |f| %>
<div class="clearfix">
<label for="coupon"><%= t('coupon.coupon').capitalize %>:</label>
<input type="text" name="coupon" id="coupon" value=""/>
<button type="submit" value="Apply to your order" class="submit">
<span><span><%= t('coupon.apply_order') %></span></span>
</button>
</div>
<% end %>
<h1>BAD (maybe) ajax call as HTML looking for 'coupon_apply.html.erb'</h1>
<%= form_tag(coupon_apply_path, method: :post, id: 'apply-coupon', remote: true) do |f| %>
<div class="clearfix">
<label for="coupon"><%= t('coupon.coupon').capitalize %>:</label>
<input type="text" name="coupon" id="coupon" value=""/>
<button type="submit" value="Apply to your order" class="submit">
<span><span><%= t('coupon.apply_order') %></span></span>
</button>
</div>
<% end %>
的差異只在data: { confirm: t('are_you_sure') },
在第一種形式。 兩種形式呈現數據的遠程= 「真」:
<form accept-charset="UTF-8" action="/cs/kosik/aktivovat-slevovy-kupon" data-confirm="Jste si jistí?" data-remote="true" id="apply-coupon" method="post">
=> Started POST "/cs/kosik/aktivovat-slevovy-kupon" for 127.0.0.1 at 2014-11-24 16:38:40 +0100
=> Processing by CartController#coupon_apply as */*
和
<form accept-charset="UTF-8" action="/cs/kosik/aktivovat-slevovy-kupon" data-remote="true" id="apply-coupon" method="post">
=> Started POST "/cs/kosik/aktivovat-slevovy-kupon" for 127.0.0.1 at 2014-11-24 16:39:28 +0100
=> Processing by CartController#coupon_apply as HTML
任何想法?
我有與「數據」哈希形式沒有問題。這一個按預期工作。但第二個(沒有「數據」)不。我嘗試了'form_tag(coupon_apply_path,format::js,method :: post,id:'apply-coupon',remote:true)',但問題依然存在=>'通過CartController#coupon_apply處理爲HTML' – Foton 2014-11-25 15:17:19
如果我使用' form_tag(coupon_apply_path(format :: js),method :: post,id:'apply-coupon',remote:true)'then request is'Processing by CartController#coupon_apply as JS',but(correct)response is not evaluate as腳本並顯示爲文本'('#coupon')。replaceWith(...)' – Foton 2014-11-25 15:24:51
如果我從原始頁面(帶有表單)的JS控制檯執行返回的腳本,它會執行它應該執行的操作。所以JS響應沒有錯誤。 – Foton 2014-11-25 15:39:10