Rails 3 - 找不到ID = quick的照片

use*_*705 2 view ruby-on-rails-3

我通过脚手架创建了新模型,我在那里添加了新动作 - 快速.to routes.rb我添加了"photos/quick"并创建了文件qucik.html.erb(它位于右侧视图目录中).

如果我将设置为浏览localhost:3000/photos/quick,我将得到上面的错误.在我的控制器中它看起来很简单:

def quick
end
Run Code Online (Sandbox Code Playgroud)

并且在视图中:

<div>this is template for quick action</div>
Run Code Online (Sandbox Code Playgroud)

怎么可能得到错误信息?为什么要运行show动作?

routes.rb中:

FirstApp::Application.routes.draw do

  resources :photos
  get "photos/quick"

   root :to => "photos#index"

end
Run Code Online (Sandbox Code Playgroud)

Zab*_*bba 6

更改要使用的路由collection并修复代码结构以正确使用块:

FirstApp::Application.routes.draw do    
  resources :photos do
    collection do
      get "quick"
    end
  end
  root :to => "photos#index"
end
Run Code Online (Sandbox Code Playgroud)

请参阅此处有关此类路线的文档