2014-05-18 129 views
2

在我的Rails應用4,我有以下代碼:資源動態段

get "products/:token" => "products#show" 
delete "products/:token" => "products#destroy" 
... (for each HTTP method) 

我讀過http://guides.rubyonrails.org/routing.html,但無法弄清楚,如果有隻是一個方式做:

resources :products 

並將其默認爲:令牌段而不是:id。

我嘗試這樣做:

def to_param 
    token 
end 

但這似乎並沒有工作

回答

1

您應該能夠通過使用param選項,定義參數鍵如下:

resources :products, param: :token 

這會給你param[:token]而不是param[:id]

+1

非常感謝!這應該被添加到Rails指南 –

0

如果您打算覆蓋to_param方法,那麼您將需要使用:id,因爲這是to_param的用途。因此請將:token更改爲:id