映射到Rails路由关注点的控制器名称空间中的不一致

Pahlevi Fikri Auliya
  concern :votable do
    resources :votes, only: [:index, :create]
  end

  namespace :api, defaults: {format: :json} do
    namespace :v1 do
      namespace :problems do
        resources :details, only: [:index, :show], concerns: :votable

我的route.rb如上,我把VotesController放在api\v1\votes_controller.rb类名是Api::V1::VotesController

它可以在我的本地计算机(Windows 7, ruby 2.0.0p481 (2014-05-08) [i386-mingw32], Rails 4.1.5上正常运行,但是在Heroku(ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-linux], Rails 4.1.5上的运行方式却有所不同从日志中,似乎希望将VotesController放在其中api\v1\problems\votes_controller.rb

错误日志:

ActionController::RoutingError (uninitialized constant Api::V1::Problems::VotesController):

它是已知的错误吗?如果我想使votes_controller.rb不在Api :: V1 :: Problems命名空间之内,该如何配置?

我希望它是通用的并且可被任何其他控制器重用,因此避免将其放在api:v1:problems目录下。

苏里亚

将您的路线更改为scope而不是namespace

namespace :api, defaults: {format: :json} do
    namespace :v1 do
      scope '/problems' do
        resources :details, only: [:index, :show], concerns: :votable

这应该生成这样的路由:

/api/v1/problems/votes => Api::V1::VotesController

更新:

concern :votable do
  resources :votes, only: [:index, :create]
end

namespace :api, defaults: {format: :json} do
  namespace :v1 do
    scope 'problems' do
      resources :details, only: [:index, :show], concerns: :votable, controller: '/problems/details'
    end
  end
end

路线:

$ rake routes|grep 'api'
api_v1_detail_votes GET    /api/v1/problems/details/:detail_id/votes(.:format) api/v1/votes#index {:format=>:json}
                    POST   /api/v1/problems/details/:detail_id/votes(.:format) api/v1/votes#create {:format=>:json}
     api_v1_details GET    /api/v1/problems/details(.:format)                  api/v1//problems/details#index {:format=>:json}
      api_v1_detail GET    /api/v1/problems/details/:id(.:format)              api/v1//problems/details#show {:format=>:json}

这是您要找的东西吗?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

映射到Rails路由关注点的控制器名称空间中的不一致

来自分类Dev

Ruby On Rails-在控制器中使用关注点

来自分类Dev

Rails:在控制器中包括关注点导致找不到动作“索引”

来自分类Dev

为什么从点映射到多边形时Sharpmap返回不一致的结果?

来自分类Dev

映射彼此不一致

来自分类Dev

LoadRunner 12.5:控制器和分析工具返回不一致的统计信息。为什么?

来自分类Dev

控制器助手和关注点之间有什么区别?

来自分类Dev

清理视图红宝石逻辑并将关注点分离到模型/控制器中

来自分类Dev

iOS Swift Xcode 6对情节提要中的视图控制器委托的关注点分离

来自分类Dev

iOS Swift Xcode 6对情节提要中的视图控制器委托的关注点分离

来自分类Dev

如何区分控制器中角色创建的关注点

来自分类Dev

将点添加到SF映射时ggplot的行为不一致

来自分类Dev

对远程映射驱动器的查询不一致

来自分类Dev

如何在Sinatra中映射到控制器的路由?

来自分类Dev

rails 4控制器名称空间

来自分类Dev

名称空间下的Rails资源路由导致“不支持的控制器名称”。

来自分类Dev

自由空间不一致

来自分类Dev

XFS根分区可用空间不一致

来自分类Dev

自由空间不一致

来自分类Dev

Rails控制台v.dev UX的结果不一致

来自分类Dev

和的映射彼此不一致?

来自分类Dev

原则问题(映射不一致)

来自分类Dev

Symfony-映射彼此不一致

来自分类Dev

AutoMapper 3中不一致的映射行为

来自分类Dev

AutoMapper 3中不一致的映射行为

来自分类Dev

名称查找歧义不一致

来自分类Dev

选择名称具有不一致的行为

来自分类Dev

DnnApiController无法找到“路径x”的控制器。在名称空间中搜索:“名称空间y”

来自分类Dev

在Rails 3和命名空间模型中使用关注点时,仅包含类方法一次

Related 相关文章

  1. 1

    映射到Rails路由关注点的控制器名称空间中的不一致

  2. 2

    Ruby On Rails-在控制器中使用关注点

  3. 3

    Rails:在控制器中包括关注点导致找不到动作“索引”

  4. 4

    为什么从点映射到多边形时Sharpmap返回不一致的结果?

  5. 5

    映射彼此不一致

  6. 6

    LoadRunner 12.5:控制器和分析工具返回不一致的统计信息。为什么?

  7. 7

    控制器助手和关注点之间有什么区别?

  8. 8

    清理视图红宝石逻辑并将关注点分离到模型/控制器中

  9. 9

    iOS Swift Xcode 6对情节提要中的视图控制器委托的关注点分离

  10. 10

    iOS Swift Xcode 6对情节提要中的视图控制器委托的关注点分离

  11. 11

    如何区分控制器中角色创建的关注点

  12. 12

    将点添加到SF映射时ggplot的行为不一致

  13. 13

    对远程映射驱动器的查询不一致

  14. 14

    如何在Sinatra中映射到控制器的路由?

  15. 15

    rails 4控制器名称空间

  16. 16

    名称空间下的Rails资源路由导致“不支持的控制器名称”。

  17. 17

    自由空间不一致

  18. 18

    XFS根分区可用空间不一致

  19. 19

    自由空间不一致

  20. 20

    Rails控制台v.dev UX的结果不一致

  21. 21

    和的映射彼此不一致?

  22. 22

    原则问题(映射不一致)

  23. 23

    Symfony-映射彼此不一致

  24. 24

    AutoMapper 3中不一致的映射行为

  25. 25

    AutoMapper 3中不一致的映射行为

  26. 26

    名称查找歧义不一致

  27. 27

    选择名称具有不一致的行为

  28. 28

    DnnApiController无法找到“路径x”的控制器。在名称空间中搜索:“名称空间y”

  29. 29

    在Rails 3和命名空间模型中使用关注点时,仅包含类方法一次

热门标签

归档