【问题标题】:Cannot generate a model in cmd line Ruby on Rails无法在命令行 Ruby on Rails 中生成模型
【发布时间】:2012-12-25 21:47:54
【问题描述】:

我今天刚开始在 Rails 上学习 Ruby。我正在关注 Rails For PHP Developers 一书。无论如何,当我键入 rails g model Subscribers 时,下一行显示“调用活动记录”。我从 cmd 行创建控制器没有问题,所以我的模型为什么没有生成。这意味着模型文件没有在模型目录中创建。

【问题讨论】:

  • 我认为最好使用单数模型名称:rails generate model Subscriber。无论如何,应该创建您的模型。 Invoke ActiveRecord 是输出中的预期行,因为 Rails 生成器将您的命令传递给 ActivRecord,即 Rails 的标准 ORM。
  • 其实你应该看到这样的:`invoke active_record create db/migrate/20121225215234_create_subscribers.rb create app/models/subscriber.rb`
  • 我输入了 rails generate model Subscriber 并且模型仍未创建。它显示'调用 active_record。它继续说“请安装 mysql 适配器:gem install activerecord-mysql-adapter。
  • 这表明另一个问题。您是否正确设置了数据库?你正在运行什么操作系统,你想使用什么数据库?
  • 尝试rails g model subscriber 并通过运行bundle update 确保您的gem 文件等是最新的。

标签: ruby-on-rails activerecord model


【解决方案1】:

您需要将 mysql2 gem 添加到您的 gemfile。然后运行 ​​bundle install 并再次尝试。

在本地机器上学习 Rails 时,最好使用默认的 SQLite 数据库。您必须更改 config/database.yml 才能将 MySQL 用于您的开发环境,这需要您安装 MySQL 适配器。

注意:使用 mysql2 gem,而不是 mysql gem。它会为你省去很多悲伤。

【讨论】:

  • 我会补充看看。谢谢你。还有一个问题。我来自使用 php 的 LAMP 环境。在我的 localhost 服务器上,我只需访问 localhost://phpmyadmin 即可访问我的数据库。如何使用 ruby​​ on rails 访问数据库?
  • 如果它是一个 mysql 数据库,你仍然可以使用 phpmyadmin 吗?如果是 sql lite 或 postgres 使用命令行,或使用 pgAdmin GUI 应用程序 - 请注意在 rails 中您可以使用非常强大的 rails console,您可以使用 activerecord 对象实时检查您的数据 - 我建议查看 railsguides - @987654321 @
猜你喜欢
  • 1970-01-01
  • 2013-04-18
  • 1970-01-01
  • 2013-01-03
  • 1970-01-01
  • 2014-08-23
  • 1970-01-01
  • 2013-04-23
  • 1970-01-01
相关资源
最近更新 更多