【问题标题】:"Missing :action key on routes definition" in Rails 5Rails 5中的“缺少:路由定义上的操作键”
【发布时间】:2017-07-04 07:28:49
【问题描述】:

我最近将我的 rails 从 4.1.5 更新到 5.1.2

我的 routes.rb 文件:

namespace :loading do
  get :index, action: :index
  root :to => :index
end

在 4.1.5 中这很好用。但是在更新到 5.1.2 之后,我得到了

Missing :action key on routes definition, please check your routes.

请帮帮我;(


解决了。

替换

root :to => :index

root :action => :index

【问题讨论】:

    标签: routing ruby-on-rails-5


    【解决方案1】:

    你必须提到controller_nameaction_name

    在 5.1.2 中,符号将直接映射到 action,但您还必须指定要使用的 controller

    更正路线:

    routes.rb

      Rails.application.routes.draw do
        namespace :loading do
          get :index => "loading_controller#index" #"controller_name#action_name"
          root :to => "loading_controller#index"
        end
      end
    

    【讨论】:

    • 感谢您的回答。'root :to => :index' in :loading namespace 用于路由 'my_domain/loading' 到 'loading_controller#index'
    • @KHLEE 您可以在namespace 中添加root 并提及controller_name#action_name
    • 是否不推荐使用传递符号来获取/发布?
    • @KHLEE 如果它适合您,请接受并投票回答。谢谢
    • 我在 rails doc 上找到了原因。在 5.1.2 中,“一个符号将直接映射到一个动作,但您还必须指定控制器:使用:”。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    相关资源
    最近更新 更多