【问题标题】:Rails: users/index routing to users/showRails:用户/索引路由到用户/显示
【发布时间】:2014-12-16 20:21:19
【问题描述】:

每当我尝试访问我的用户控制器的 index 方法时,都会从 rails 收到一条错误消息,内容如下:

未知操作 找不到用户控制器的“显示”操作

我的 routes.rb 文件没有要显示的路线,但确实有要索引的路线。 即使我在网址栏中输入 localhost:3000/users/index ,我仍然遇到同样的问题。

我一直在寻找这个问题的答案几个小时,但仍然没有运气。

编辑:

我接受了使用 get 'users/index' => 'users#index' 进行路由的建议,但这并没有帮助。 index.html.erb 在正确的位置。我在 users_controller.rb 中定义了一个索引方法

我的routes.rb部分:

get 'users/index' => 'users#index'
get 'users/sign_up_partial'
post 'users/create'

【问题讨论】:

  • 请发布您的 routes.rb,至少是其中的相关部分
  • 意识到错误消息是您迄今为止最好的建议。某处,某事与“表演”相关联。拥有 index.html.erb 文件与错误无关。我同意,发布您的 routes.rb 文件,我们需要更多数据来帮助您。
  • 在此之前您是否在路由中定义了用户资源?
  • 您应该发布整个 routes.rb 文件。我们无法查看是否在您的 users#index 定义之上定义了其他路由。因为顺序改变了路线表上的游戏规则。

标签: ruby-on-rails ruby routing


【解决方案1】:

您正在使用 'localhost:3000/users/index'。它将重定向到显示。 如果你会做 rake 路线,你会发现

/users/:id(.:format) 将重定向以显示用户控制器的操作,在您使用 users/index 的情况下,它会将“索引”视为用户 ID。

对于索引操作,您只需要使用 URL 'localhost:3000/users'。

【讨论】:

    【解决方案2】:

    根据我的经验,您的 routes.rb 文件中应该有:

    get "users/index" => "users#index"
    

    在你的 users_controller.rb 中定义你的索引

    确保您已创建视图文件 (views/users/index.html.erb)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      相关资源
      最近更新 更多