草庐IT

ruby-on-rails - 尝试运行 gem install 时出错

我正在尝试在我的开发服务器上启动并运行Rails。这是一个fedora14盒子。我安装了rvm、ruby1.8.7和ruby​​gems1.6.2。当我尝试通过gem安装rails时,geminstallrails,出现以下错误:ERROR:Loadingcommand:install(LoadError)nosuchfiletoload--zlibERROR:Whileexecutinggem...(NameError)uninitializedconstantGem::Commands::InstallCommand关于正在发生的事情的任何想法。我是ruby​​/rubygems/

ruby-on-rails - 每个 Rails 项目都必须有 ruby gem (2011 版)

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。伙计们!我一直在StackOverflow和Google上搜索有经验的人几乎在每个项目中使用的必备gem列表,但我只找到了'08和'09版本。我正在寻找的是能够使几乎所有应用程序(例如用户注册)都将使用的功能更容易实现的gem。我自己对Rails还很陌生,但以下是我最喜欢的一些:Friendly_idDevise希望有经验的Rails用户可以向我展示一些

ruby gem 语句 - 它有什么作用?

我想我对ruby​​脚本顶部的require/include语句的作用有基本的了解,比如require'rspec'这些陈述很容易用谷歌搜索并找到相关结果。但有时我会看到像这样的gem语句gem'rspec'这条线是做什么的? 最佳答案 在ruby​​代码中,Kernel中定义的gem(gem_name,*requirements)告诉Ruby加载特定版本的gem_name。当您安装了同一gem的多个版本时,这很有用。例如,如果你安装了两个版本的rspec,比如2.12.0和2.13.0,你可以调用gem在require之前使用特定

ruby-on-rails - 使用 Bullet 和 RSpec gem 减少 n+1 查询

将BulletGem与RSpec一起使用的有效方法是什么?现在我觉得如果我将它与我当前的单元测试框架一起使用,我会收到很多通知或测试失败,因为测试本身中的n+1个查询与我的生产应用程序中发生的事情无关,例如检查值或关联。因此,修复n+1故障不需要在我的Controller或模型上设置任何东西,而是需要在我的测试设置中设置一些东西以不抛出该特定错误,而且我没有看到我的应用程序有真正的性能改进。 最佳答案 最有效的方法是根本不用。在测试中减少n+1查询可能有一些合法的优势,最明显的是加快整体执行时间。然而,您很可能是testingtoo

ruby-on-rails - 是否有 Ruby gems 的版本管理器?

我是一名新的Rails开发人员。我最近参加了一个关于Rails的类(class),现在我正试图通过self分配插入我的项目来提高我的技能。我现在想做的一件事是使用RadiantCMS来构建一个博客站点。但是,我在下载Radiantgem时遇到了一些问题。这是我所做的:当我第一次尝试geminstallradiant时,它安装了大部分必需的gem,但随后发出了警告(不幸的是我没有逐字保存),大致如下:railtiesexecutablewilloverwriterailsexecutable.Overwrite?Y/n愚蠢的是,我选择了“Y”。我一这样做就通过编写railsnewtest

ruby-on-rails - 如何在我的 ruby​​gem 中写入将在 Rails 应用程序中使用的日志?

我正在开发将在Rails应用程序中使用的ruby​​gem。在这个ruby​​gem中,我需要记录一些信息(警告、错误……)。我看到一些gem可以做到这一点,比如logging,但显然我不需要配置日志输出(stdout,一些文件)。我的Rails应用程序将消息记录在一个文件中。所以,我的问题是:有没有办法让我的gem使用与我的Rails应用程序使用的日志配置相同的日志配置?还是我的gem会根据自己的配置发送日志? 最佳答案 您可以直接使用Rails.logger,如果您的gem始终只在Rails应用程序中使用,那么这是有效的。您也可

ruby-on-rails - 如何使用地理编码 gem 获取时区?

我必须将time_zone_select添加到我的Rails应用程序中。我正在考虑根据用户请求设置一些默认值,但我看到该项目已经安装了geocodegem用于此目的。有没有办法通过这个gem获取时区? 最佳答案 您无法直接从地理编码器gem获取时区。它只能为您提供位置信息。您可以使用下面的gem获取特定区域或(lat,long)值的时区。https://github.com/panthomakos/timezonetimezone=Timezone::Zone.new:latlon=>[-34.92771808058,138.477

ruby - 如何使用 gem 显示更新?

我想在我的网络服务器上有一个脚本,如果有gem更新而不安装更新,它会通过cron自动检查。我在gem文档中找不到关于此任务的任何信息。 最佳答案 您正在寻找outdated命令:gemoutdated 关于ruby-如何使用gem显示更新?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1775680/

ruby - 在 Ruby gem 中使用 Thor 作为生成器

如何设置一个gem来使用二进制命令,例如使用Thor的生成器命令集创建文件等的“projectnewProject”?一个好的答案是描述如何布置一个gem的框架,当从命令行运行时,即“projectnewProject”,在它运行的目录中创建一个名为“newProject.txt”的文件。我看到Rails3正在使用Thor为其发电机供电;似乎是一个非常好的解决方案,我想在我正在处理的非Railsruby​​gem中使用类似的方法。尝试查看Rails3源代码,但它有点迷宫,因此出现了这个问题。 最佳答案 在您的gem项目中,您需要包含

ruby - gem 在本地安装 XYZ(无需连接到互联网)

我需要在没有互联网连接的计算机上安装win32-api和antlr3。如果有这样的联系,我会像这样使用gem:geminstallwin32-api-rgeminstallantlr3-r这显然行不通。所以,我认为应该有一种方法可以下载gem并在以后安装它,但我不确定我将如何进行。我找到了gem的which运算符,它似乎指示了gem的本地位置:c:\>gemwhichantlr3c:/tools/Ruby187/lib/ruby/gems/1.8/gems/antlr3-1.8.8/lib/antlr3.rb但是,它在win32-api上不起作用:c:\>gemwhichwin32-a