我是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中删除了它。这是一个错误吗?任何指导都将非常感谢。
答案 0 :(得分:1)
你冷酷的尝试rm Gemfile.lock
和bundle install
重新安装你的宝石
还要确保sqlite3
组中的development
gem
gem 'sqlite3', :group => :development
因此它不会安装在Heroku上
答案 1 :(得分:1)
错误是因为config/database.yml
文件仍然具有sqlite3
作为开发数据库的数据库适配器。
如果您知道要将哪个数据库用于本地开发数据库,请在此文件中设置相应的数据库适配器。
Heroku无法使用sqlite3
;但是,您可以将sqlite3
用于本地开发数据库,并为生产数据库指定postgres
或mysql
。
由于您是初学者,我建议您按照详细教程中的步骤进行操作,直到您熟悉各种概念。 Michael Hart's Rails Tutorial book可在线免费获取,对于初学者栏目开发者来说是一个非常好的资源。