【问题标题】:button_to custom named route returns routing errorbutton_to 自定义命名路由返回路由错误
【发布时间】:2012-04-16 23:43:33
【问题描述】:

我正在使用 Rails 3.2.3 和 Haml 3.1.4。

这是我的带有自定义命名路由的 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):

= button_to 'refresh vips for ns', :refresh_netscaler

这是我点击“刷新 vips for ns”按钮后的错误:

Routing Error

No route matches {:action=>"refresh", :controller=>"netscalers"}

我忽略了什么?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 haml


    【解决方案1】:

    应该是这样的

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

    ??应该用产生 netscaler.id 的东西代替,你没有发布足够的代码来弄清楚什么?应该是。

    【讨论】:

    • 啊,好吧。现在可以了。因此,即使它似乎直接指向控制器和操作,除非您指定 id,否则它将无法工作。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多