大概描述下我目前的情况,Order 订单模型,使用 state_machine 定义了一个 cancel 的 event 在 orders 控制器里,使用了一个 cancel 的方法,对应 put /orders/cancel 去调用他 也就是说暴露出来的 router 跟 cancel 有关的只有 cancel 一个 之前都是直接使用一个链接,直接指定 :method => :put 现在增加了一个需求,就是希望用户在取消订单的时候,还得输入为什么要取消订单的理由:) 这种情况下应该怎么设计比较好呢? 把输入页面设置为 get /orders/cancel,提交页面设置为 put /orders/cancel 还是输入页面直接放在 order 的 show 页面或者其他 js 方式弹出? 谢谢大家:)