所以,我的项目已经进行到了这个阶段,即6.0添加了第二个模型。我做到了
rails generate model Comment commenter:string body:text article:references
这产生了正确的文件,我打开并查看了。app/models/comment.rb和_create_comments.rb迁移文件(我取消了日期标记)
当我运行rake db:migrate时,会得到以下错误:
== 20150709191058 CreateComments: migrating ===================================
-- create_table(:comments)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
private method `test' called for #<ActiveRecord::ConnectionAdapters::TableDefinition:0x007fe7984adf58>/Users/johnlarkin/Sites/blog/db/migrate/20150709191058_create_comments.rb:5:in `block in change'
/Users/johnlarkin/Sites/blog/db/migrate/20150709191058_create_comments.rb:3:in `change'
NoMethodError: private method `test' called for #<ActiveRecord::ConnectionAdapters::TableDefinition:0x007fe7984adf58>
/Users/johnlarkin/Sites/blog/db/migrate/20150709191058_create_comments.rb:5:in `block in change'
/Users/johnlarkin/Sites/blog/db/migrate/20150709191058_create_comments.rb:3:in `change'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)有没有人在做这个项目时遇到过类似的错误,我刚刚开始学习ruby和rails。
谢谢你的帮助。
class CreateComments < ActiveRecord::Migration
def change
create_table :comments do |t|
t.string :commenter
t.test :body
t.references :article, index: true
t.timestamps null: false
end
add_foreign_key :comments, :articles
end
end发布于 2015-07-09 20:28:16
我认为您在rails generate命令中输入了"test“而不是"text”。您可以删除所有新文件并重新启动,或者将"t.test“更改为"t.text”。
https://stackoverflow.com/questions/31327059
复制相似问题