2010-11-30 63 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