0

我正在努力在其显示视图中更新项目的值,因此我在视图中嵌入了一个带有提交按钮的表单,但是我在页面底部有第二个按钮,它执行不同的操作并重新加载这页纸。我想要一个按钮来重新加载页面并同时更新项目的值;而不是需要按两个按钮。到目前为止,我还没有弄清楚该怎么做。

嵌入形式:

        <%= form_for @item, :url => { :action => "update" } do |f| %>
        <b>Amount to be Requested:<b>  
        <%= f.text_field :quantity %>
         <%= f.submit "Add" %>
        <% end %>

页面底部的按钮:

<p><%= button_to "Add to my Request", add_list_item_path(@item), :id => "add_button" %></p>
4

2 回答 2

0

我完全不明白你在做什么,但据我所知,items/update_requested应该处理你的更新,然后redirect_to :back

我假设这是页面上唯一的表单,并且不需要第二个按钮。

编辑

根据您所做的第一条评论,我只是将表单指向一个同时执行这两个操作的操作。

def update_and_unrelate
  @item = Item.find(params[:id]
  如果@item.update_attributes(params[:item])
    #在这里做无关的事情
  别的
    redirect_to :back, :alert => "没发生儿子"
  结尾
结尾

如果您真的想改进 UI,只需一个按钮,如果该字段已填写,则可能执行无关的操作。

就我个人而言,我觉得按钮越少越好,为它们“做”是最好的方法。

于 2012-06-08T00:13:08.350 回答
0

可能不是您正在寻找的内容,但会提供比刷新页面更好的体验:

https://github.com/bernat/best_in_place

于 2012-06-08T00:41:32.610 回答