gpt4 book ai didi

ruby-on-rails-3 - Rails 如何在 gem 中创建初始化程序

转载 作者:行者123 更新时间:2023-12-04 07:08:22 25 4
gpt4 key购买 nike

我正在尝试在 Rails 3 中构建一个 gem,并在其中尝试传递一个初始化程序:

Credentials.configure do |config|
file = File.read("#{Rails.root}/config/twitter.yaml")
file_config = YAML.load(file)

config.consumer_key = file_config[Rails.env][:consumer_key]
config.consumer_secret = file_config[Rails.env][:consumer_secret]
config.callback_url = URI.escape(file_config[Rails.env][:callback_url])
config.time_stamp = Time.now.to_i
end

然后我试图这样称呼它:
Credentials.time_stamp

但我收到此错误:
uninitialized constant Twitter::Credentials

问题是什么?

谢谢

最佳答案

您的 gem 首先需要在 lib/generators/your_gem_name_generator.rb 中定义一个生成器

mkdir -p lib/generators/

将您的初始化程序复制到该文件夹​​中,名称类似于 twitter_credentials.rb
然后在该文件夹中创建另一个文件,名称类似于 twitter_generator.rb内容如下:
class YourGemNameRailtie < Rails::Generators::Base
source_root(File.expand_path(File.dirname(__FILE__)))
def copy_initializer
copy_file 'twitter_credentials.rb', 'config/initializers/twitter_credentials.rb'
end
end

您应该在此处查看创建生成器的官方文档:
http://guides.rubyonrails.org/generators.html

关于ruby-on-rails-3 - Rails 如何在 gem 中创建初始化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16004378/

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