我是Rails的新手,我正在关注Railsbridge对Rails的介绍。我创建了我的项目,现在我正在尝试为投票创建一个新的控制器操作,以及一个新的投票路线。当我转到开发页面时,它显示以下消息:
迁移正在等待处理。要解决此问题,请运行:bin / rake db:migrate RAILS_ENV = development
在命令行中,它为我提供了以下信息:
StandardError: An error has occurred, this and all later migrations canceled:
undefined method `migrate' for #<ActiveRecord::ConnectionAdapters::TableDefiniti
on:0x5d79e78>C:/Sites/railsbridgejan/suggestotron/db/migrate/20150129195744_create_votes.rb:6:in `block in change' C:/Sites/railsbridgejan/suggestotron/db/migrate/20150129195744_create_votes.rb:3:in `change'
C:in `migrate'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
所以,当我查看我的db文件中的create_votes.rb时,它就是这样的:
class CreateVotes < ActiveRecord::Migration
def change
create_table :votes do |t|
t.integer :topic_id
t.string :rake
t.migrate :db
t.timestamps null: false
end
end
end
我的文件代码有问题吗? t.migrate:db是第6行,根据命令行,是问题所在。我使用的是Rails 4,Ruby 2和Sqlite。我曾尝试安装MySql,但遇到了一些重大问题,所以我继续使用Sqlite。这可能导致这个问题吗?似乎问题出现在上面列出的代码中,但我不确定。 谢谢!
答案 0 :(得分:0)
在您使用的change
方法中
t.migrate :db
migrate
数据类型不存在。我假设您想使用String。
t.string :db