【问题标题】:ruby on rails: How to create table for a new modelruby on rails:如何为新模型创建表
【发布时间】:2012-11-09 02:26:08
【问题描述】:

我用

rails generate model mynewmodel string:name string:description

生成一个新模型。如何将此新模型部署到我的开发数据库?我的 sqlite 数据库中已经有一堆数据库。

我试过了

rake db:migrate

在 db 中生成这个新表似乎有问题。

更新:添加错误信息

==  CreateMynewmodels: migrating ===============================================
-- create_table(:mynewmodels)
rake aborted!
An error has occurred, this and all later migrations canceled:

undefined method `name' for #<ActiveRecord::ConnectionAdapters::TableDefinition:0x3ad5c50>

Tasks: TOP => db:migrate

谢谢

【问题讨论】:

  • 您所做的是正确的 (rake db:migrate)。如果没有看到错误消息,我们将无法提供帮助。
  • 你先运行rake db:create了吗?
  • @Casper 不,我应该在 db:migrate 之前运行 db:create?
  • 这是一个很好的指南:guides.rubyonrails.org/getting_started.html

标签: ruby database ruby-on-rails-3


【解决方案1】:

您的 fieldname:type 组合的顺序不正确。试试

rails generate model mynewmodel name:string description:string

【讨论】:

  • 哇。你们所有人显然都在竞相回答这个问题。你赢了!
【解决方案2】:

rails generate model mynewmodel string:name string:description中的错误

你应该交换stringname

rails generate model mynewmodel name:string description:string

【讨论】:

    【解决方案3】:

    使用name:string 代替string:name 描述相同

    【讨论】:

      【解决方案4】:

      高级用法的好文章: Advanced Rails model generators

      请注意,您必须将参数 price:decimal{10,2} 包装到 引号。这很重要,如果生成器的行为不正确 你不这样做。

      【讨论】:

        猜你喜欢
        • 2014-02-16
        • 2015-09-19
        • 2013-04-29
        • 2011-07-25
        • 1970-01-01
        • 1970-01-01
        • 2020-04-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多