在rails中构建自定义路由

时间:2013-09-24 05:57:49

标签: ruby-on-rails ruby ruby-on-rails-3 controller routing

我有这条路线:

put 'workstations' => 'workstation#update'

我打算与此链接匹配:

link_to "Update", controller: "workstations", action: "update", :method => :put

但是我收到了这个错误,我不知道为什么:

No route matches {:controller=>"workstations", :action=>"update", :method=>:put}

我如何建立路线,为什么不是我指定的工作?

1 个答案:

答案 0 :(得分:1)

可能是拼写错误。

您写道:

put 'workstations' => 'workstation#update'

但控制器名称应为复数,如:

put '/workstations' => 'workstations#update'

此外,您始终可以运行rake routes并获取应用中生成的路线和路线名称列表。

修改

顺便说一句,您可以通过以下更优雅的方式实现相同的路线生成:

resource :workstations, only: :update