gpt4 book ai didi

ruby-on-rails-4 - 升级到 rails 4.2,Model Concerns 现在给出 LoadError: Unable to autoload constant Concerns::blahblah

转载 作者:行者123 更新时间:2023-12-04 18:26:02 25 4
gpt4 key购买 nike

我编写了一个生成器,它为用户创建了一个关注点,以包含在他们的模型中。它在 Rails 4.1.8 上正常工作,但在 Rails 4.2.0 上,我收到以下消息:

LoadError: Unable to autoload constant Concerns::NameSearch.
NameSearch是生成器创建的关注模块, app/models/concerns/name_search.rb :
module NameSearch
extend ActiveSupport::Concern

included do
...
end

module ClassMethods
...
end

private
...
end

在模型中,我只是 include NameSearch .在包含关注点后运行 rake 任务(迁移)时出现错误。应用程序实际上运行正常,只是抛出错误的 rake 任务。并且 rake 任务似乎也完成了它的工作,但最后抛出了这个错误。
同样,这在 4.1.8 中运行良好,但在 4.2.0 中却不行。知道发生了什么变化吗?

最佳答案

您需要使用正确的 Ruby 常量查找约定(添加 Concerns:: 到模块):

应用程序/模型/关注/name_search.rb

module Concerns::NameSearch
extend ActiveSupport::Concern

included do
...
end

module ClassMethods
...
end

private
...
end

关于ruby-on-rails-4 - 升级到 rails 4.2,Model Concerns 现在给出 LoadError: Unable to autoload constant Concerns::blahblah,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29353426/

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