gpt4 book ai didi

ruby - 为新 gem 加载 rake 任务的路径是什么

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

我尝试使用 bundler 创建一个新的 ruby​​gem,并打算从 ruby​​gem 文件夹 ~/work/bezier/lib/task/加载 rake 任务。但是pwd好像在/Users/wizztjh/work/bezier_server,请问新gem加载rake任务的路径是什么?

我的 ruby​​gem 文件夹

bezier/lib
/railtie.rb
/task/get_transitions.rake

pry 动

From: /Users/wizztjh/work/bezier/lib/bezier/railtie.rb @ line 4 :

1: module Bezier
2: class Railtie < Rails::Railtie
3: rake_tasks do
=> 4: binding.pry
5: load "lib/task/get_transitions.rake"
6: end
7: end
8: end

[1] pry(#<Bezier::Railtie>)> Dir.pwd
=> "/Users/wizztjh/work/bezier_server"
[2] pry(#<Bezier::Railtie>)>

因为根据 ruby​​gem 文档

rake_tasks do
load "path/to/my_railtie.tasks"
end

但是 path/to 是什么?

最佳答案

我尝试使用 github 的高级代码搜索来搜索 Rails::Railtie rake_tasks do load broadcast我找到了解决方案。

bezier/tasks/get_transitions.rake

#bezier/lib/railtie.rb
module Bezier
class Railtie < Rails::Railtie
railtie_name :bezier
rake_tasks do
load "bezier/tasks/get_transitions.rake"
end
end
end

所以,ruby gem railtie load pwd 是 Gem.path 的根

关于ruby - 为新 gem 加载 rake 任务的路径是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11474658/

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