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

2023-11-21

我正在尝试在 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

问题是什么?

Thanks


你的 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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 如何在 gem 中创建初始化程序 的相关文章

随机推荐

  • vagrant 中的 postgres(ubuntu 14.04)

    我尝试使用 vagrant 创建简单的开发环境 但遇到了 postgres 的问题 我的 Vagrantfile 很简单 mode ruby vi set ft ruby Vagrantfile API syntax version Don
  • 如何减慢悬停元素上的 CSS 动画而不跳转?

    我正在尝试在 css 中制作选框 这会减慢悬停在元素上的速度 我已经做了类似的事情 但它不会停止主动画 当鼠标退出选取框时 它会返回到它的位置 就好像我没有做任何事情一样 这是 CSS 和 HTML 中的代码 prices backgrou
  • JQuery Mobile 2011 年 6 月 3 日最新版本 - 无后退按钮

    今天是 2011 年 6 月 3 日 我正在使用 JQuery Mobile 的最新版本 我的问题是后退按钮不见了 请问如何才能显示后退按钮 UPDATE 我已经尝试过了 但仍然没有后退按钮 div div h1 title here h1
  • “exp: 未找到命令” 如何将 expo cli 添加到路径?

    我安装了 expo cli npm i g exp 然后我跑 exp 我得到 bash exp command not found 我猜我没有将 exp 添加到路径中 那么我该如何正确地做到这一点呢 到目前为止我尝试过的一切都不起作用 你应
  • 视图在解雇ViewControllerAnimated后不可用:完成:

    我正在迁移使用 NIB 的旧代码以使用手动视图创建 loadView and 自动布局 根视图控制器是容器VC 有 2 个子级 使用自动布局并以模态方式呈现一个视图控制器 该视图控制器的布局在 NIB 中指定 但尚未使用自动布局 之后一切都
  • 如何在 URL 中使用 .jsf 扩展名?

    我正在开发 JSF 2 Web 应用程序 出于声望目的 我希望每个 URL 都以 jsf扩大 现在结束于 xhtml 如果我直接改成 jsf在 Web 浏览器地址栏中显示 HTTP 500 错误 我怎样才能将其设置为 jsf JSF 页面的
  • 使用 asyncio 等待子进程的结果

    我的 Python 脚本包含一个循环 该循环使用subprocess在脚本之外运行命令 每个子进程都是独立的 我监听返回的消息 以防出现错误 我不能忽略子进程的结果 这是没有 asyncio 的脚本 我已将计算量大的调用替换为sleep f
  • 如何在 C++ 中进行内联汇编 (Visual Studio 2010)

    我正在编写一个性能关键 数字运算的 C 项目 其中 70 的时间被 200 行核心模块使用 我想使用内联汇编来优化核心 但我对此完全陌生 不过 我确实了解一些 x86 汇编语言 包括 GCC 和 NASM 使用的语言 我所知道的 我必须将汇
  • iphone ios7分段UISegmentedControl仅更改边框颜色

    一直环顾四周并尝试仅更改边框颜色 使用不同的文本颜色 但没有成功 可以更改色调 但同时更改文本和边框 您可以使用UIAppearance代理来设置标题文本属性 但保留边框的tintColor 就像是 UISegmentedControl a
  • 从列表中下载文件(如果尚未下载)

    我可以用 C 做到这一点 而且代码很长 如果有人可以向我展示如何通过 python 完成此操作 那就太酷了 伪代码是 url www example com somefolder filename1 pdf 1 load file into
  • android中ScrollView中GridView的问题

    我正在尝试将 GridView 放入 android 中的 ScrollView 中 当我把 GridView 不起作用时 这是布局
  • 如何全局更改 UINavigationBar 颜色?

    我想从 AppDelegate 全局更改整个应用程序的 UINavigationBar 颜色 为此我这样做 func application application UIApplication didFinishLaunchingWithO
  • 是否允许将 javascript 代码下载到 iPhone

    我有一个混合应用程序 它基本上是一个从 UIWebview 内的应用程序文件夹运行的网站 问题是我计划通过从互联网下载整个网站然后替换旧网站来更新我的网站 今天我发现苹果现在提供了App Store审核指南 其中有以下规则 2 7 以任何方
  • 安装并使用 RPy2(使用 conda),以便它使用 /usr/lib/R R 中的默认 R 安装

    我想使用 RPy2 从 Python 中的 R 包中调用函数 我使用 conda 安装了 RPy2 并意识到它在 conda 中安装了 R 的新副本 我不希望这样 我只想拥有并使用一个 R 即 usr lib R 中的默认 R 怎么做 如何
  • 可在 iOS 7 和 iOS 8 上运行的警报

    我收到 dyld 未找到符号 OBJC CLASS UIAlertAction 当我试图让这个怪物逃跑时 我如何弱链接 8 0 的东西 var device UIDevice UIDevice currentDevice var syste
  • 版本号无效:版本号可能为负数或大于 255

    当我尝试访问应用程序中的页面时 出现以下错误 SEVERE Servlet service for servlet jsp threw exception java lang IllegalArgumentException Invalid
  • UrlFetchApp 未定义

    我正在调用 UrlFetchApp fetch www google com 从我的 chrome javascript 代码中我得到 未捕获的引用错误 UrlFetchApp 未定义 有人知道为什么没有定义吗 我还以为是内置的 网址获取服
  • R中的关联规则 - 删除冗余规则(arules)

    假设我们有 3 条规则 1 A B D gt C 2 A B gt C 3 Whatever it is Rule 2 是规则的子集 1 因为规则 1 包含规则中的所有项目 2 所以规则 1 应该被消除 因为规则 1 过于具体 其信息已包含
  • 将行从一个数据帧添加到另一个数据帧

    我正在尝试从一个数据帧插入或添加到另一个数据帧 我正在浏览原始数据框 在一列中寻找某些单词 当我找到这些术语之一时 我想将该行添加到新的数据框中 我通过使用得到了行 entry df loc df A item 但是 当尝试使用 add i
  • Rails 如何在 gem 中创建初始化程序

    我正在尝试在 Rails 3 中构建一个 gem 并在其中尝试传递一个初始化程序 Credentials configure do config file File read Rails root config twitter yaml f