我的信息来源是这里的第 2.9 节:
[http://guides.rubyonrails.org/routing.html#connecting-urls-to-code][1]
我想要做的是添加一个自定义操作“搜索”和相应的视图。
所以,正如它在文档中所说的那样,我在我的 config/routes.rb 文件中添加了这段代码:
resources :dimensions do
collection do
get "search"
end
end
我还在 dimensions_controller 文件中定义:
def search
@dimensions = Dimension.all
respond_to do |format|
format.html # search.html.erb
format.json { render json: @dimensions }
end
end
然后我停止并重新启动了 rails 服务器,但是当我导航到 /dimensions/home 时,我仍然收到以下错误消息:
Couldn't find Dimension with id=search
还表明我的参数是:
{"id"=>"search"}
那么我是否只是错过了另一段代码,它给出了将 /dimension/search 解释为集合操作而不是显示操作的指令?
我已经确认 search_dimensions_path 存在,所以我知道 routes.rb 文件中的资源块实际上是在添加路径。它只是将它们解释为给我带来麻烦的单独搜索操作。
谢谢你的时间。