背景:我正在使用InstantRails 2.0
我想使用以下语法向现有表添加新列:
ruby脚本/生成迁移add_fieldname_to_tablename fieldname:string
所以我试过
ruby脚本/生成迁移add_invites_to_user邀请:整数 ruby脚本/生成迁移add_invites_to_users邀请:整数
并进一步测试
ruby脚本/生成迁移AddInvites ruby脚本/生成迁移AddInvites邀请:整数
所有上述内容都给了我
builder.rb:'build'中的175:非法路由:必须指定:controller! (引发ArgumentError)
答案 0 :(得分:3)
知道了,
我指定了一条没有指示控制器的路线。
即map.connect'users / invite /:id'
我通过添加以下来修复它:controller => '用户'
map.connect'users / invite /:id',: controller => '用户'
我在服务器运行时设置了第一条路线并且工作正常!
答案 1 :(得分:2)
解释为什么会发生这种情况有助于:
当您运行script/generate
时,Rails将实例化您的应用程序,其中包括将您的路由加载到其他内容中。这可能看起来过多,但它是“最好的”,因为Rails初始化过程中加载的其他内容(如插件,gems和初始化程序)可能会影响迁移的运行方式。
所以是的,如果你有错误的路由代码,它会在你尝试生成任何东西时中断。