我有一个 Controller “应用程序”。它由一个 Action “索引”组成。现在,我要添加一个名为“购买”的新操作:
def buy
respond_to do |format|
format.html
end
end
我在 View 中添加了buy.html.erb,但是浏览到/apps/buy时,出现以下消息:
Unknown action - The action 'show' could not be found for AppsController
在我添加的 route :
match '/apps/buy', :controller => 'apps', :action => 'buy'
提前致谢!
最佳答案
该网址已被标准/apps/:id
路由捕获,我假设您的路由中也有resources :apps
?
只需将购买路线放在第一位:
match '/apps/buy', :controller => 'apps', :action => 'buy'
resources :apps
请记住,路由是按照定义的顺序执行的,因此特定的路由需要先于通用路由。
@Ryan建议的一种更简单的方法是向资源添加收集路径:
resources :apps, :collection => { :buy => :get }
关于ruby-on-rails - 创建新的Rails Action 行不通吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4312477/