我有一个批准按钮,用于更改表记录的status
属性Shop
。当我单击它时,它确实会更改属性,但不会重新加载页面,因此我必须手动重新加载页面才能看到结果,这非常不方便。看起来一切都可以正常工作,但页面仍无法重新加载。
我的观点是:
<%= form_for([:admin, @shop], remote: true, data: { confirm: "You sure?" }) do |fr| %>
<%= fr.hidden_field :status, :value => 2 %>
<%= fr.submit "Reject", class: "btn btn-large btn-danger" %>
<% end %>
和控制器:
def update
@shop = Shop.find(params[:id])
if @shop.update_attributes(shop_params)
flash[:success] = "Shop updated"
redirect_to([:admin, @shop])
else
render 'edit'
end
end
我将不胜感激,谢谢!
您正在使用remote: true
中form_for
,它正在通过AJAX您的表单提交。
您可能需要添加,method: :put
以便表单点击update
而不是create
。
因此,只需尝试删除remote: true
并添加method: :put
如下内容,然后尝试再次提交表单即可。
<%= form_for([:admin, @shop], method: :put, data: { confirm: "You sure?" }) do |fr| %>
<%= fr.hidden_field :status, :value => 2 %>
<%= fr.submit "Reject", class: "btn btn-large btn-danger" %>
<% end %>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句