Ruby on rails 自定义命名路由的按钮返回路由错误

Ruby on rails 自定义命名路由的按钮返回路由错误,ruby-on-rails,ruby-on-rails-3,haml,Ruby On Rails,Ruby On Rails 3,Haml,我使用的是Rails 3.2.3和Haml 3.1.4 以下是自定义命名路由的my routes.rb: resources :netscalers do resources :vips member do post :refresh end end 当我运行“rake routes”时,我看到它被定义为: refresh_netscaler POST /netscalers/:id/refresh(.:format) netscalers#refresh 以

我使用的是Rails 3.2.3和Haml 3.1.4

以下是自定义命名路由的my routes.rb:

resources :netscalers do
  resources :vips
  member do
    post :refresh
  end
end
当我运行“rake routes”时,我看到它被定义为:

refresh_netscaler POST   /netscalers/:id/refresh(.:format)     netscalers#refresh
以下是我的视图(app/views/netscalers/index.haml):

以下是我单击“刷新ns VIP”按钮后出现的错误:

Routing Error

No route matches {:action=>"refresh", :controller=>"netscalers"}
我在看什么?

应该是这样的

= button_to 'refresh vips for ns', refresh_netscaler_path(??)

这个??应替换为生成netscaler.id的内容,但您没有发布足够的代码来确定是什么??应该是。

啊,好的。现在可以了。因此,即使它看起来直接指向控制器和操作,它也不会工作,除非您指定id。谢谢!
= button_to 'refresh vips for ns', refresh_netscaler_path(??)