ruby-on-rails – 没有创建Rolify表

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 没有创建Rolify表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在安装gem(gem’rolify’)后,我已经使用以下命令生成了该文件,
rails g rolify Role User

下面的文件创建,

invoke  active_record
create    app/models/role.rb
invoke    rspec
create      spec/models/role_spec.rb
invoke      factory_girl
create        spec/factories/roles.rb
insert    app/models/role.rb
create    db/migrate/20140425070708_rolify_create_roles
insert  app/models/user.rb
create  config/initializers/rolify.rb

然后,我给了

rake db:migrate

它给了我警告,

[WARN] table 'Role' doesn't exist. Did you run the migration ? Ignoring rolify config.

还没有创建表.这是什么问题我在这里错过什么?
这是我的迁移文件,

class RolifyCreateRoles < ActiveRecord::Migration
    def change
     create_table(:roles) do |t|
      t.string :name
      t.references :resource,:polymorphic => true
      t.timestamps
     end

    create_table(:users_roles,:id => false) do |t|
      t.references :user
      t.references :role
    end

    add_index(:roles,:name)
    add_index(:roles,[ :name,:resource_type,:resource_id ])
    add_index(:users_roles,[ :user_id,:role_id ])
  end
 end

我的版本,

Rails – 4.1.0
Ruby – 2.1.1

请任何人在这里帮我

提前致谢.

解决方法

这是一个已知的bug,创建没有.rb扩展名的迁移,所以rake db:migrate不会被接受.

手动重命名迁移以添加.rb扩展名.更改:

db/migrate/20140425070708_rolify_create_roles

成为:

db/migrate/20140425070708_rolify_create_roles.rb

然后rake db:再次迁移.

猜你在找的Ruby相关文章