-1

我对 ruby​​ on rails 很陌生,过去几天一直在尝试使用它。基本上试图:创建一个带有固定列的空表 - Ruby on Rails

我创建了一个这样的模型:

rails g model table
rails g migration table

我的 tables.rb 文件如下所示:

class Tables < ActiveRecord::Migration
  def change
    add_column :table, :firstname, :string
    add_column :table, :lastname, :string
  end
end

(希望我创建的列没问题)

然后我运行:

rake db:migrate RAILS_ENV=development

但似乎得到一个错误 no such table: table (但我以为我创建了它?)

还有什么是我可以用来在 html.erb 文件中查看 localhost:3000 上的表的好视图?

4

1 回答 1

0

您显示为 tables.rb 文件的是迁移文件,而不是模型。模型存储在 app/models 中。迁移位于 db/migrate 中,名称为日期时间戳,后跟迁移名称。

您的迁移正在执行 add_column。在 create_table 之前,您不能添加_column。该迁移应该使用“rails g model table”构建。请使用完整的文件名显示所有迁移。

检查dax提供的文件。rails generate 命令使用程式化的命令行。许多标准的迁移功能,例如创建表和添加列,都可以通过使用正确的迁移名称自动生成。例如:

rails g migration add_url_to_feed url:string

这将创建一个迁移,将一个名为 url 的字符串列添加到提要表中。

一般来说,迁移应该做你需要的。但是,您将需要另一个命令 rake。参考在这里。例如:

rake db:create          # Create the database from config/database.yml for the current Rails.env

可以为您创建数据库。

于 2013-09-26T16:55:18.830 回答