2012-04-16 84 views
0

我正在使用Rails 3.2.3和Haml 3.1.4。button_to自定義命名路由返回路由錯誤

這裏是我的routes.rb中使用自定義命名的路線:當我運行 '耙路線'

resources :netscalers do 
    resources :vips 
    member do 
    post :refresh 
    end 
end 

這裏,我看到它的定義:

refresh_netscaler POST /netscalers/:id/refresh(.:format)  netscalers#refresh 

這裏是我的視圖(app /意見/ netscalers/index.haml):

= button_to 'refresh vips for ns', :refresh_netscaler 

這裏後,我點擊 '刷新專署針對n' 按鈕錯誤:

Routing Error 

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

我在忽略什麼?

回答

2

它應該看起來像

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

的?應該被產生一個netscaler.id的東西所取代,你沒有發佈足夠的代碼來弄清楚什麼?應該。

+0

啊,好吧。它現在有效。所以即使它看起來直接指向控制器和操作,除非指定了id,否則它將不起作用。謝謝! – sybind 2012-04-17 00:25:29