0

我有一个 check_box_tag 表单,有一个复选框,我希望它显示数据库中的值,这很有效。如果我尝试更新它,我会收到路由错误。

我想要一个复选框,它可以获取复选框的结果,但也可以作为表单工作,我该怎么做?

<%= check_box_tag("order", "send_mail", method: "post", action: "updateform") %>

控制器:

def updateform
    @order = Order.find(params[:id])
    if @order.update_attributes(params[:send_mail])
       @order
    end
end

路由:

collection do
    post 'orders/updateform'
end

我收到以下错误:

No route matches [POST] "/orders/613"

我做错了什么?谢谢

4

2 回答 2

0

尝试member而不是collection在您的路由中。集合用于索引之类的东西。member 用于当您有特定条目的 id 时。

于 2013-11-12T13:07:56.960 回答
0

尝试以下示例,然后转到: http: //guides.rubyonrails.org/routing.html

resources :orders do
  member do
    post 'updateform'
  end
end

例如,这将识别 /orders/1/updateform。

于 2013-11-12T13:08:48.927 回答