【发布时间】:2015-04-01 20:56:54
【问题描述】:
我是 Rails 的新手,我正在关注 Railsbridge Intro to 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)
所以,当我在我的数据库文件中查找 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。这可能会导致这个问题吗?似乎问题出在上面列出的代码中,但我不确定。 谢谢!
【问题讨论】:
-
migrate不是该对象上可用的方法。你想在那里做什么?
标签: ruby-on-rails