所以我在我的视图中有这个代码来创建一个批准所有5星评价的按钮。我面临的问题是button_to
并不隐藏参数,而order_ids大约是200个订单对象。所以当我点击按钮时,我收到错误
Request-URI Too Large WEBrick::HTTPStatus::RequestURITooLarge
我想我需要使用form_tag
帮助器,但我不太确定如何使用form_tag
制作按钮。或者如何链接这两件事。
<div style="margin: 0 0 50px 0">
<%= button_to "Approve reviews with 5 stars",
{ action: :approve_reviews, order_ids: @orders, rating: 5 }
, method: :post %>
</div>
答案 0 :(得分:1)
您最后可以将params:{}
添加到your button_to
<%= button_to "Approve reviews with 5 stars", action: :approve_reviews, params: {order_ids: @orders, rating: 5} %>
注意:默认情况下,该方法会发布,因此您无需指定方法。
希望它有所帮助!
答案 1 :(得分:0)
尝试这样的事情:
<%= form_tag({ action: :approve_reviews, rating: 5 }) do -%>
<%= hidden_field_tag 'order_ids', @orders %>
<%= submit_tag 'Approve reviews with 5 stars' %>
<%= end -%>
答案 2 :(得分:0)
我建议这样做 -
form
和隐藏字段,其中包含订单ID的值(可能是评分,除非您为其配置了路线)有一个简单的按钮,只需在点击时提交表单
<%= form_tag({ :action => :approve_reviews }) do -%>
<%= hidden_field_tag :order_ids, :value => @orders %>
<%= hidden_field_tag :rating, :value => 5 %>
<%= submit_tag "Approve reviews with 5 stars" %>
<% end -%>