Rails 如何在 gem 中创建初始化程序

编程入门 行业动态 更新时间:2024-10-27 16:32:51
本文介绍了Rails 如何在 gem 中创建初始化程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

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

I am trying to build a gem in Rails 3 and inside it i am trying to pass an initializer:

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

然后我尝试这样称呼它:

and then i am trying to call it like this:

Credentials.time_stamp

但我收到此错误:

uninitialized constant Twitter::Credentials

有什么问题?

谢谢

推荐答案

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

Your gem will first need to define a generator in lib/generators/your_gem_name_generator.rb

mkdir -p lib/generators/

将您的初始化程序复制到该文件夹​​中,名称类似于 twitter_credentials.rb

Copy your initializer in that folder with a name like twitter_credentials.rb

然后在该文件夹中创建另一个文件,其名称类似于 twitter_generator.rb,内容如下:

Then create another file in that folder with a name like twitter_generator.rb with content like this:

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

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

You should check out the official documentation for creating a generator here: guides.rubyonrails/generators.html

更多推荐

Rails 如何在 gem 中创建初始化程序

本文发布于:2023-08-07 14:25:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1319613.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:初始化   程序   如何在   Rails   gem

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!