【发布时间】:2014-01-22 05:11:19
【问题描述】:
我正在使用来自 learn-rails.com 的“Learn Ruby On Rails”pdf 书。
我在第 13 章,“配置”。我们应该在哪里执行命令:“rails generate figaro:install”
在第 12 章中,我们安装了 figaro gem:“我们已经在 Gemfile 中安装了 figaro gem,然后运行 bundle install。”
当我运行该命令时,我得到:“找不到生成器 figaro:install。”
我开始搜索类似的问题,我确实在这里找到了这个问题:rails generate - "Could not find generator" 建议他们在命令中也包含“迁移”。
我将它包含在我的命令中,我让它做某事,但我认为它没有做它应该做的事情?
invoke active_record
/Users/NormalUse/.rvm/gems/ruby-2.0.0-p353@learn-rails/gems/activerecord-4.0.2/lib/rails/generators/active_record/migration/migration_generator.rb:57:in `validate_file_name!': Illegal name for migration file: figaro:install (ActiveRecord::IllegalMigrationNameError)
(only lower case letters, numbers, and '_' allowed)
from /Users/NormalUse/.rvm/gems/ruby-2.0.0-p353@learn-rails/gems/activerecord-4.0.2/lib/rails/generators/active_record/migration/migration_generator.rb:10:in `create_migration_file'
然后还有大约 20 行。我只是不想把它都放在这里。
作者接着说:
“使用 rails generate 命令,figaro gem 会生成一个 config/application.yml 文件并将其列在您的 .gitignore 文件中。.gitignore 文件会阻止 config/application.yml 文件保存在 Git 存储库中,因此您的凭据是保密的。”
当我进入我的项目目录并查看“config”文件夹时,我确实有一个“application”文件,但它以“.rb”而不是“yml”结尾。所以很明显这个命令没有做它应该做的事情,对吧?
有人对我有什么想法吗?
我在 Mac OSX 10.7.5 上使用带有 RVM 的 Ruby 2.0.0 和 Rails 4.0.2
【问题讨论】:
-
您是否将
gem "figaro"行放入项目的Gemfile文件然后运行bundle install? -
是的,这里的行:gem 'compass-rails', '~> 2.0.alpha.0' gem 'figaro' 是我们使用的。然后我做了捆绑安装。
-
您可能需要重启终端:github.com/laserlemon/figaro/issues/180
标签: ruby-on-rails ruby