rails复选框路由错误+如何创建一个也是表单的复选框?

时间:2013-11-12 12:58:23

标签: ruby-on-rails ruby-on-rails-4

我有一个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"

我错了什么?谢谢

2 个答案:

答案 0 :(得分:0)

在路由中尝试member而不是collection。收集是指索引之类的东西。当您拥有特定条目的ID时,该成员就是。

答案 1 :(得分:0)

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

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

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