我是学习Ruby on Rails的新手,当我运行" rake db:migrate"在命令行中,我收到以下错误:
耙子流产了! 语法错误:> /Users/user_name/Sites/simple_cms/db/migrate/20140423221836_alter_users.rb:15:语法>错误,意外':',期待')' ... dmin_users"," email",:string:default => "",:null =>假) ...... ^任务:TOP => DB:迁移 (通过使用--trace运行任务查看完整跟踪)**
这是我的代码:
class AlterUsers < ActiveRecord::Migration
def up
rename_table("users", "admin_users")
add_column("admin_users", "username", :string, :limit => 25, :after => "email")
change_column("admin_users", "email", :string, :limit => 100)
rename_column("admin_users", "password", "hashed_password")
puts "*** Adding an index is next ***"
add_index("admin_users", "username")
end
def down
remove_index("admin_users", "username")
rename_column("admin_users", "hashed_password", "password")
change_column("admin_users", "email", :string :default => "", :null => false)
remove_column("admin_users", "username")
rename_table("admin_users", "users")
end
end
我一直在检查并重新检查我的代码,但无法找到解决方案......眼睛比我更好的人可以看看吗?谢谢!
答案 0 :(得分:1)
在down
方法的第3行,您错过了逗号
change_column("admin_users", "email", :string :default => "", :null => false)
^
## missing comma
这就是您收到unexpected ':', expecting ')' ...dmin_users", "email", :string :default => "", :null => false)
只需在:string
和:default
之间添加逗号,然后运行rake db:migrate
。