use*_*006 1 ruby forms ruby-on-rails button
我如何在我的Ruby应用程序中添加一个按钮,让我在一个页面内更改属性的值,即item.paid的值,从false变为true.
问题:我想从不同的模型/视图中做到这一点.例如,在Customers模型中,将属于该客户的所有"项目"的值更改为已付款(单击表单按钮).
app/controllers/customers_controller.rb
class CustomersController < ApplicationController
def mark_all_items_paid
customer = Customer.find(params[:id])
customer.items.find_each { |item| item.update_column(:paid, true) }
# redirect, respond with json, whatever
end
end
Run Code Online (Sandbox Code Playgroud)
config/routes.rb
resource :customers do
member do
post :mark_all_items_paid
end
end
Run Code Online (Sandbox Code Playgroud)
你的观点:
<%= form_tag { controller: 'customers', action: 'mark_all_items_paid', id: @customer }, { method: :post } do -%>
<%= submit_tag "Mark All Items Paid" %>
<% end -%>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
807 次 |
| 最近记录: |