gpt4 book ai didi

ruby-on-rails - 如何在 Gem 中获取 Rails 应用程序的根目录

转载 作者:数据小太阳 更新时间:2023-10-29 07:12:58 26 4
gpt4 key购买 nike

是否可以在应用程序中包含的 gem 代码中知道应用程序的 Rails 文件系统根目录?

这是 gem 来源的示例:

module MyGem
def self.included(base)
puts Rails.root # return nil
end
end

ActionController::Base.send :include, MyGem

谢谢,抱歉我的英语不好

最佳答案

我发现解决类似问题的解决方案是使用 railtie 初始化程序包含我的模块。

所以,在你的/lib/mygem/railtie.rb

module MyGem
class Railtie < Rails::Railtie
initializer "Include your code in the controller" do
ActiveSupport.on_load(:action_controller) do
include MyGem
end
end
end

使用此代码,您的模块将在 ActionController 加载后包含在内,您将能够使用 Rails.root

让我知道这是否适合您。

关于ruby-on-rails - 如何在 Gem 中获取 Rails 应用程序的根目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11263192/

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