2012-03-25 150 views
1

我是RoR上的新用戶。如果你能在這裏給我一些指導,我會非常感激。以下是我遇到的問題。先謝謝你!Rake和Ruby on Rails

我嘗試做以下命令

C:\用戶\ 01TAN \ rails_projects \ demo_app>捆綁高管耙分貝:遷移

不過,我收到以下錯誤

rake aborted! 
An error has occurred, this and all later migrations canceled: 
undefined method `vantan08' for #<ActiveRecord::ConnectionAdapters::TableDefinit 
ion:0x217c128> 

我使用了trace命令,下面是報告:

C:\Users\01TAN\rails_projects\demo_app>rake db:migrate --trace 
** Invoke db:migrate (first_time) 
** Invoke environment (first_time) 
** Execute environment 
** Invoke db:load_config (first_time) 
** Invoke rails_env (first_time) 
** Execute rails_env 
** Execute db:load_config 
** Execute db:migrate 
== CreateUsers: migrating ==================================================== 
-- create_table(:users) 
rake aborted! 
An error has occurred, this and all later migrations canceled: 

undefined method `vantan08' for #<ActiveRecord::ConnectionAdapters::TableDefinit 
ion:0x2378430> 
C:/Users/01TAN/rails_projects/demo_app/db/migrate/20120325153442_create_users.rb 
:4:in `block in change' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/connection_adapters/abstract/schema_statements.rb:160:in `create_table 
' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:450:in `block in method_missing' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:424:in `block in say_with_time' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/benchmark.rb:280:in `measure' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:424:in `say_with_time' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:444:in `method_missing' 
C:/Users/01TAN/rails_projects/demo_app/db/migrate/20120325153442_create_users.rb 
:3:in `change' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:393:in `block (2 levels) in migrate' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/benchmark.rb:280:in `measure' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:393:in `block in migrate' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/connection_adapters/abstract/connection_pool.rb:118:in `with_connectio 
n' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:377:in `migrate' 
C:in `migrate' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:704:in `block (2 levels) in migrate' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:759:in `call' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:759:in `block in ddl_transaction' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/connection_adapters/abstract/database_statements.rb:190:in `transactio 
n' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/transactions.rb:208:in `transaction' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:759:in `ddl_transaction' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:703:in `block in migrate' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:684:in `each' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:684:in `migrate' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:554:in `up' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/migration.rb:535:in `migrate' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-3.2.1/lib/acti 
ve_record/railties/databases.rake:153:in `block (2 levels) in <top (required)>' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task. 
rb:205:in `call' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task. 
rb:205:in `block in execute' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task. 
rb:200:in `each' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task. 
rb:200:in `execute' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task. 
rb:158:in `block in invoke_with_call_chain' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task. 
rb:151:in `invoke_with_call_chain' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task. 
rb:144:in `invoke' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli 
cation.rb:116:in `invoke_task' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli 
cation.rb:94:in `block (2 levels) in top_level' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli 
cation.rb:94:in `each' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli 
cation.rb:94:in `block in top_level' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli 
cation.rb:133:in `standard_exception_handling' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli 
cation.rb:88:in `top_level' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli 
cation.rb:66:in `block in run' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli 
cation.rb:133:in `standard_exception_handling' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/appli 
cation.rb:63:in `run' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/bin/rake:33:in 
`<top (required)>' 
C:/RailsInstaller/Ruby1.9.3/bin/rake:19:in `load' 
C:/RailsInstaller/Ruby1.9.3/bin/rake:19:in `<main>' 
Tasks: TOP => db:migrate 
+1

遷移的代碼會比跟蹤的最後90%的有用...... – DGM 2012-03-25 15:50:08

+0

你好感謝你的幫助。我剛剛發現了答案。 – user1291439 2012-03-25 16:10:38

+2

@ user1291439:然後請刪除問題或發佈解決方案。 – 2012-03-25 16:17:49

回答

0

我的猜測是,你正在寫的遷移混合了列的名稱與列的類型。遷移應該是這個樣子Rails中3.2.1:

class CreatePeople < ActiveRecord::Migration 
    def change 
    create_table :people do |t| 
     t.string :name 
     t.string :email 

     t.timestamps 
    end 
    end 
end 
+0

非常感謝! – user1291439 2012-06-07 14:04:33