2010-11-24 65 views
28

我想一個額外的參數傳遞給資源Rails3中路線 - 傳遞參數給會員路線

類似的成員路線:

resources :events do 
    member do 
    get 'register/:participant_type_id' 
    end 
end 

我只能用一個靜態的比賽完成它聲明

環顧網上,我看到這可能在Rails 3.0.2中可能。我使用的是3.0.1,但它並不是。

我做錯了什麼?或者它真的不可能?

感謝

+0

這應該是可能的3.0.1,你得到一個錯誤? – edgerunner 2010-11-24 20:13:04

+0

是的,我得到'失蹤:行動' – Diogo 2010-11-24 20:28:57

+0

發現這一點,不知道如果其相關... https://rails.lighthouseapp.com/projects/8994/tickets/5431-rails-3-rc-routing-resource- member-routes-lack-defaults – Diogo 2010-11-24 20:33:21

回答

40

試試這個:

resources :events do 
    member do 
    get 'register/:participant_type_id', :action => 'register' 
    end 
end 
17

只是爲了我的小調查結果完成了答案。它也困擾了我很長一段時間。

在Rails3中,帶參數的成員路由不會自動生成xx_yy_path幫助程序。您需要添加它以提供:as =>部分,省略resources名稱。

關於所提供的例子,讓register_event_pathregister_event_url,你需要定義它像下面這樣:

resources :events do 
    member do 
    get 'register/:participant_type_id', :action => 'register', :as => 'register' 
    end 
end