gpt4 book ai didi

ruby-on-rails - 找不到带下划线的路线或没有正确对待它

转载 作者:数据小太阳 更新时间:2023-10-29 08:30:52 25 4
gpt4 key购买 nike

我在 route 有这个:

Rails.application.routes.draw do
namespace :api do
namespace :v3_4 do
# .....

和 Controller app/controllers/api/v3_4/base_controller

module Api
module V3_4
class BaseController < ApplicationController
# ......
end
end
end

app/controllers/api/v3_4/another_controller

module Api
module V3_4
class AnotherController < ApplicationController

end
end

end

rake 路:

          Prefix Verb        URI Pattern                     Controller#Action
api_v3_4_test GET /api/v3_4/test(.:format) api/v3_4/base#test
api_v3_4_one GET|OPTIONS /api/v3_4/one(.:format) api/v3_4/another#one
api_v3_4 GET|OPTIONS /api/v3_4/two/:id(.:format) api/v3_4/another#two

然而对于这个请求,我得到了 Routing Error Uninit Constant uninitialized constant Api::V34

请注意,错误消息中没有下划线。但是我的项目根本没有V34行,也没有v34,只有v3_4和V3_4

最佳答案

Rails 将 _ 变形为单词分隔符,因此它搜索 Api::V34 您可以通过编辑 config/initializers/inflections.rb 来更改该行为:

ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'V3_4'
end

此外,如果您想将 Api 命名空间更改为 API,因为它是首字母缩写词,您也可以在那里进行:

ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'V3_4'
inflect.acronym 'API'
end

更多信息:http://api.rubyonrails.org/classes/ActiveSupport/Inflector/Inflections.html

关于ruby-on-rails - 找不到带下划线的路线或没有正确对待它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35981867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com