【问题标题】:Getting "Missing :action key on routes definition" when I try and create a route with a parameter当我尝试使用参数创建路由时获取“缺少:路由定义上的操作键”
【发布时间】: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


    【解决方案1】:

    尝试以下方法:

    get 'search/:search(.:format)', to: 'people#search'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-24
      • 2021-11-26
      • 2018-06-02
      • 1970-01-01
      • 2019-12-14
      相关资源
      最近更新 更多