ben*_*ben 38 ruby ruby-on-rails-4
我的rails应用程序在运行时工作正常,rake db:migrate但是当我尝试启动rails控制台时出现问题.
2.0.0p247 :003 > User
=> User(no database connection)
Run Code Online (Sandbox Code Playgroud)
gmi*_*ile 78
这是由于ActiveRecord懒洋洋地开始建立连接4.0.只是不要担心.
在第一次建立之后,您将开始看到预期的输出.试试这个:
2.1.4 :001 > User
# => User (call 'User.connection' to establish a connection)
2.1.4 :001 > User.count
# => SELECT COUNT(*) FROM "users" ...
2.1.4 :001 > User
# => User(id: integer, email: string, encrypted_password: string, ...)
Run Code Online (Sandbox Code Playgroud)
ben*_*ben 31
简单的解决方案:控制台可能确实有数据库连接,但报告它没有.
要查看是否为真,请在控制台中进行查询.
User.count
Run Code Online (Sandbox Code Playgroud)
这为我和一位同事解决了误报.
要么
使用Model.connection建立连接.
Rub*_*ist 14
要在控制台加载后立即恢复显示其列信息的ActiveRecord模型的行为,这里有一个解决方法:
# config/application.rb
console do
ActiveRecord::Base.connection
end
Run Code Online (Sandbox Code Playgroud)