2010-11-30 64 views
6

我有一個控制器「應用程序」。它由一個動作「索引」組成。現在我想添加一個名爲「買」新動作:創建新導軌操作不起作用?

def buy 
    respond_to do |format| 
    format.html 
    end 
end 

我添加了一個buy.html.erb的意見,但在瀏覽/應用/買的時候,我得到以下信息:

Unknown action - The action 'show' could not be found for AppsController 

的路線我添加了這個:

match '/apps/buy', :controller => 'apps', :action => 'buy' 

在此先感謝!

回答

16

該URL正在被標準/apps/:id路由捕獲,我假設你在你的路由中也有resources :apps

只需首位團購路線:

match '/apps/buy', :controller => 'apps', :action => 'buy' 
resources :apps 

熊在路線中定義它們的順序執行的頭腦,所以具體的人需要先在一般。

爲@Ryan顧名思義就是將收集途徑向資源更簡單的方法:

resources :apps, :collection => { :buy => :get } 
+4

或者在`buy`行動作爲一個集合路由添加到您的`資源:apps`。 – 2010-11-30 10:14:12