Ruby on rails RubyonRails:RakeDB:运行scaffold后发生迁移错误
有一个小问题正在发生,我不太确定我做了什么,但我只是创建了一个rails应用程序,后面跟着这些命令 我跑:Ruby on rails RubyonRails:RakeDB:运行scaffold后发生迁移错误,ruby-on-rails,ruby,database,Ruby On Rails,Ruby,Database,有一个小问题正在发生,我不太确定我做了什么,但我只是创建了一个rails应用程序,后面跟着这些命令 我跑: rails generate scaffold Post heading body:text price:decimal neighborhood external_url timestamp 在my terminal中,后跟: rake db:migrate 接下来,我得到一个错误,内容如下: == 20150108012341 CreatePosts: migrating
rails generate scaffold Post heading body:text price:decimal neighborhood external_url timestamp
在my terminal中,后跟:
rake db:migrate
接下来,我得到一个错误,内容如下:
== 20150108012341 CreatePosts: migrating ======================================
-- create_table(:posts)
-> 0.0021s
== 20150108012341 CreatePosts: migrated (0.0022s) =============================
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
wrong number of arguments (1 for 0)/Users/taimurknaziri/.rvm/gems/ruby-2.1.1/gems/activerecord-4.2.0.beta2/lib/active_record/connection_adapters/abstract_adapter.rb:271:in `initialize'
/Users/taimurknaziri/.rvm/gems/ruby-2.1.1/gems/activerecord-
...
4.2.0.beta2/lib/active_record/tasks/database_tasks.rb:135:in `migrate'
/Users/taimurknaziri/.rvm/gems/ruby-2.1.1/gems/activerecord-4.2.0.beta2/lib/active_record/railties/databases.rake:44:in `block (2 levels) in <top (required)>'
/Users/taimurknaziri/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval'
/Users/taimurknaziri/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
迁移文件:
class CreatePosts < ActiveRecord::Migration
def change
create_table :posts do |t|
t.string :heading
t.text :body
t.decimal :price
t.string :neighborhood
t.string :external_url
t.string :timestamp
t.timestamps null: false
end
end
end
这就是命令应该是什么
rails generate scaffold Post heading:string body:text price:decimal neighbourhood:string externalurl:string timestamp:string
您应该提到所有字段的数据类型。问题出在我的gem文件中,我的rails版本是rails4.2beta2。我在这里找到了解决方案:
我必须添加gem arel并运行bundle update arel,然后再安装bundle。scaffold语法看起来不正确。你可能需要邻居和外部的类型显示迁移文件添加了迁移文件@AnthonyOok,所以这很奇怪,因为我尝试在另一个应用程序上测试它,似乎每次我运行rake db:migrate时,我都会得到错误rake aborted!。。。你的脚手架对我来说很好。您的架构尚未包含posts表,对吗?仍然会收到错误。我甚至尝试重新安装rails。