【发布时间】:2018-01-29 15:45:26
【问题描述】:
我有一个带有 Rails 5 的应用程序。我想创建一个路由来搜索我的模型中的名称,看起来像
/people/search/search_str
所以我在我的 config/routes.rb 文件中创建了以下路由
resources :people do
collection do
get 'image/:id', :to => "people#image", :as => 'image'
get 'ranks', :to => "people#ranks", :as => 'ranks'
get 'search/:search(.:format)', to: :search
end
end
但这会导致以下错误
/Users/nataliab/.rvm/gems/ruby-2.4.0/gems/actionpack-5.0.6/lib/action_dispatch/routing/mapper.rb:329:in `check_part': Missing :action key on routes definition, please check your routes. (ArgumentError)
from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/actionpack-5.0.6/lib/action_dispatch/routing/mapper.rb:318:in `check_controller_and_action'
from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/actionpack-5.0.6/lib/action_dispatch/routing/mapper.rb:252:in `normalize_options!'
from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/actionpack-5.0.6/lib/action_dispatch/routing/mapper.rb:116:in `initialize'
from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/actionpack-5.0.6/lib/action_dispatch/routing/mapper.rb:69:in `new'
构建路线的正确方法是什么?
【问题讨论】:
标签: ruby-on-rails parameters routes ruby-on-rails-5