加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:48:43 所属栏目:百科 来源:网络整理
导读:在安装gem(gem’rolify’)后,我已经使用以下命令生成了该文件, rails g rolify Role User 下面的文件创建, invoke active_recordcreate app/models/role.rbinvoke rspeccreate spec/models/role_spec.rbinvoke factory_girlcreate spec/factories/roles.rbin
在安装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:再次迁移.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读