无法生成新的rails控制器

时间:2016-06-14 23:38:45

标签: ruby-on-rails ruby heroku

我是ruby on rails开发的新手。我目前在生成新的rails控制器时遇到了困难。这是我输入终端的内容:

$ rails generate controller static_pages home help

这是我收到的回复:

/usr/local/rvm/gems/ruby-2.3.0/gems/activerecord-4.2.5/lib/active_record/connection_adapters/connection_specification.rb:177
:in `rescue in spec': Specified 'sqlite3' for database adapter, but the gem is not loaded. 
Add `gem 'sqlite3'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). (Gem::LoadError)

我也在使用Heroku进行制作,所以我最初删除了sqlite3,因为Heroku无法通过以下方式使用它:

$ gem uninstall sqlite3

我从我的gemfile和gemfile.lock中删除了它。这是一个错误吗?任何指导都将非常感谢。

2 个答案:

答案 0 :(得分:1)

你冷酷的尝试rm Gemfile.lockbundle install重新安装你的宝石

还要确保sqlite3组中的development gem

gem 'sqlite3', :group => :development

因此它不会安装在Heroku上

答案 1 :(得分:1)

错误是因为config/database.yml文件仍然具有sqlite3作为开发数据库的数据库适配器。

如果您知道要将哪个数据库用于本地开发数据库,​​请在此文件中设置相应的数据库适配器。

Heroku无法使用sqlite3;但是,您可以将sqlite3用于本地开发数据库,​​并为生产数据库指定postgresmysql

由于您是初学者,我建议您按照详细教程中的步骤进行操作,直到您熟悉各种概念。 Michael Hart's Rails Tutorial book可在线免费获取,对于初学者栏目开发者来说是一个非常好的资源。