【问题标题】:active record error in Ruby on railsRuby on rails 中的活动记录错误
【发布时间】:2011-10-26 21:37:44
【问题描述】:

我在 Rails 中遇到问题,我刚刚安装了它,但是当我在更新 mysql 设置并运行后更新时 rake db:create 然后

rails server

它启动了服务器,然后当我尝试通过浏览器查看它时,出现错误说活动记录连接未以奇怪的方式建立错误。我对 ruby​​ 和 rails 都很陌生,所以这就是为什么不通过调试信息来理解的原因。我认为 MySQL 配置有问题。我在 Windows 上使用它并使用 railsinstaller 并使用 XAMPP 附带的 MySQL。

那么任何人都可以告诉它有什么问题以及如何解决它?还是将 Linux 用于 RoR 更好?我在 windows 上做了很多事情,这就是为什么如果 windows 上会有一些解决方案,那会很有帮助。

感谢您的时间,以下是附加的输出图像。

我还观察到 rake db:create 命令没有创建数据库,我必须手动执行此操作。以下是我对 db 的配置:

adapter:mysql2
host:localhost
encoding:utf8
database:kaasib_new
pool:5
username:root
password:~

这样可以吗?我在本地机器db上没有密码,我需要在里面提到mysql的3306吗?

【问题讨论】:

  • 你应该发布你的实际错误输出。
  • 当您发布这些“非常奇怪的 tihings”时,它会对我们有所帮助。
  • 添加了更多说明和输出
  • 您可以在 Windows 上运行它,但答案是:“或者使用 Linux 进行 RoR 是否更好?”是“是”1000 次以上。
  • 我认为这个东西也适用于所有 Python 和 PHP,它们在 linux 上运行会更好,@jdl 你觉得呢?

标签: mysql ruby-on-rails ruby activerecord ruby-on-rails-3.1


【解决方案1】:

有几件事可以尝试:

  1. 如果上面密码字段中的波浪号是拼写错误,ok, 但那里不应该有任何东西。
  2. 不确定它是否是一个函数 在这里发布,但空格在 YAML 文件中很重要。它应该是 设置如下缩进(套接字是可选的):

.

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: app_development
  pool: 5
  username: root
  password: 
  socket: /tmp/mysql.sock

【讨论】:

  • 它说未初始化的常量 Mysql2
  • 听起来你需要确保安装了 mysql2 gem 而不是 mysql gem - 确保它在你的 gemfile 中,然后运行 ​​bundle install
【解决方案2】:
  1. 从您的项目中打开Gemfile
  2. 添加行 => gem 'mysql2'
  3. 运行命令 => bundle update
  4. restart你的服务器。

【讨论】:

    猜你喜欢
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    相关资源
    最近更新 更多