ruby-on-rails – 在rails上创建ruby的新表

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 在rails上创建ruby的新表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试在rails中创建一个新的表.我发现和尝试悲伤的每一个例子都不适合我
所以这就是我现在所尝试的:(我使用 Ruby版本1.9和Rails版本3.2.13
在终端中建立新的模式:
  1. rails generate model content content_id:auto-generated,law_id:integer,parent_id:integer,titel:string,text:string,content:string,url:string

生成以下代码

  1. class CreateContents < ActiveRecord::Migration
  2. def change
  3. create_table :contents do |t|
  4. t.auto-generated,:content_id
  5. t.integer,:law_id
  6. t.integer,:parent_id
  7. t.string,:titel
  8. t.string,:text
  9. t.string,:content
  10. t.string :url
  11.  
  12. t.timestamps
  13. end
  14. end
  15. end

如果我尝试耙db:migrate我收到以下错误消息:

  1. Syntax error,unexpected ',',expecting keyword_end
  2. t.auto-generated,:content_id
  3. ^

如果我删除“,”我得到这个错误信息:

  1. Syntax error,unexpected tSYMBEG,expecting keyword_do or '{' or '('
  2. t.auto-generated :content_id
  3. ^

我的研究让我也以这种方式创建一个表:

  1. class CreateContents < ActiveRecord::Migration
  2. def change
  3. create_table :contents do |t|
  4. t.auto-generated "content_id"
  5. t.integer "law_id"
  6. t.integer "parent_id"
  7. t.string "titel"
  8. t.string "text"
  9. t.string "content"
  10. t.string "url"
  11.  
  12. t.timestamps
  13. end
  14. end
  15. end

如果我试图用这个例子耙数据分析器,我得到这个错误信息:

  1. Syntax error,unexpected tSTRING_BEG,expecting keyword_do or '{' or '('
  2. t.auto-generated "content_id"
  3. ^

我做错了什么

@H_301_29@解决方法
自动生成不是支持的列类型.

Active Record支持以下数据库列类型:

  1. :binary
  2. :boolean
  3. :date
  4. :datetime
  5. :decimal
  6. :float
  7. :integer
  8. :primary_key
  9. :string
  10. :text
  11. :time
  12. :timestamp

http://guides.rubyonrails.org/migrations.html#supported-types的更多信息

Rails将自动为您创建列ID,因此只需将迁移编辑为以下内容即可

  1. class CreateContents < ActiveRecord::Migration
  2. def change
  3. create_table :contents do |t|
  4. t.integer "law_id"
  5. t.integer "parent_id"
  6. t.string "titel"
  7. t.string "text"
  8. t.string "content"
  9. t.string "url"
  10.  
  11. t.timestamps
  12. end
  13. end
  14. end

猜你在找的Ruby相关文章