使用 link_to 将值写入属性

Using link_to to write a value to an attribute

我有一个 PO(采购订单)模型,其属性之一是状态。我正在尝试编写一个 link_to,它将值 "closed" 写入当前打开的 PO 的状态。

show.html.erb

<%= link_to 'Close PO', {:action => :update, :method => :patch, :id => @po.id, :status => 'closed'} %>

到目前为止这不起作用,因为 link 将我带回 PO 显示视图并且当前 PO 的状态保持 "open"。我做错了什么?

我认为你的 link_to 看起来更像:

<%= link_to 'Close PO', po_path(@po, po: {status: :closed}), method: :patch %>

这自然假设您的 routes.rb 包括:

resources: :pos