我有Rails 4.0應用程序與'訂單'模型有一個狀態字段。在調用「顯示」操作以獲取「訂購」對象細節時,除了「編輯」和「返回」之外,我還想在「顯示頁面」上添加其他按鈕。第一個標記'更新狀態'只會將這個訂單對象的狀態更新爲'1',第二個標記'關閉訂單'的按鈕只會將這個訂單對象的狀態更新爲2.如何在沒有'編輯'動作/視圖?我是否需要使用form_tag來添加這些按鈕,並且是否需要在OrdersController中編寫2個新方法來更新狀態?Rails更新一個沒有表單的字段
以下是我show.html.erb有兩個按鈕我要補充...
<p>
<strong>Name:</strong>
<%= @order.name %>
</p>
<p>
<strong>Status:</strong>
<%= @order.status %>
</p>
<%= link_to 'Edit', edit_order_path(@order) %> |
<%= link_to 'Back', orders_path %> |
<%= link_to 'Shipped', '#', :name => 'shipped_button' %> |
<%= link_to 'Close', '#', :name => 'close_button' %>
如果我點擊「已發貨」或「關閉」按鈕,它們都將在爲「OrdersController」被稱爲如,如下所示一個 'GET' 請求,
.. 發起者GET 「/命令/ 1?名稱= shipped_button」 爲127.0.0.1在2014年11月21日15點40分38秒-0800
處理OrdersController#顯示爲HTML
參數:{「name」=>「shipped_button」,「id」=>「1」}
訂單加載(0.1ms)SELECT「orders」。* FROM「orders」WHERE「orders」。「id」=? LIMIT 1 [[ 「ID」,1]]
渲染命令/佈局內show.html.erb /應用(1.9ms)
完成200 OK中50ms的(查看:47.8ms | ActiveRecord的:爲0.1ms)
如何使用適當的狀態字段更新來更新模型。 'status'是'orders'模型中的一個整數字段。
我無法弄清楚你想要什麼。真。你能否詳細解釋一下?但是,您可以將動作傳遞給link_to函數,如[question](http://stackoverflow.com/questions/5607155/ruby-on-rails-3-link-to-controller-and-action) – 2014-11-21 23:58:55
中所述是的,你指出的答案看起來像在這種情況下會起作用。 link_to僅以id或整個對象作爲輸入參數調用控制器中的操作。 – Atarang 2014-11-23 07:23:00