我有一个由Rails Composer与Devise和Rolify生成的Ruby 2 Rails 4应用程序。我正在尝试重命名Devise User模型,所以我想要销毁它并生成它。但是,我在尝试与Rolify相关时遇到错误。我已经多次尝试破坏Rolify并没有成功,也无法超越这一点,以便我可以与Devise合作。
我将展示几次尝试解决此问题,以及我得到的错误。 每次尝试都以应用程序的新副本开始。我只显示错误流。
我基本上有两个问题: 1.我如何销毁rolify? 2.有没有更好的方法来重命名设计用户模型?我以为我找到了另一种方式但是,对于我的生活,我再也找不到它了。
销毁rolify,结果是在删除后删除了role.rb失败。
rails destroy rolify Role User
invoke active_record
remove app/models/role.rb
invoke rspec
remove spec/models/role_spec.rb
invoke factory_girl
remove spec/factories/roles.rb
subtract app/models/role.rb
D:/BitNami/rubystack-2.0.0-11/ruby/lib/ruby/gems/2.0.0/gems/thor-0.19.1/lib/thor/actions/inject_into_file.rb:98:in `binr
ead': No such file or directory - D:/BitNami/rubystack-2.0.0-11/projects/workingapp/app/models/role.rb (Errno::ENOENT)
销毁设计模型,生成设计模型并生成rolify
rails destroy devise user
rails generate devise device
rails generate rolify Role Device.
invoke active_record
The name 'Role' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again.
销毁设计模型,生成设计模型,删除app / models / role.rb并生成rolify
rails destroy devise user
rails generate devise device
del app/models/role.rb
rails generate rolify Role Device.
D:/BitNami/rubystack-2.0.0-11/ruby/lib/ruby/gems/2.0.0/gems/activesupport-4.0.3/lib/active_support/inflector/methods.rb:
226:in `const_get': uninitialized constant Role (NameError)
答案 0 :(得分:1)
我无论如何都无法找到这个。支持Rolify似乎不起作用。我决定使用Rails Composer创建没有Devise,Rolify和CanCan的应用程序,然后使用我想要的模型名称和配置单独生成每个应用程序。然后,我可以将所有写入的代码迁移到该应用程序中并进行修改。这不是一个简单的答案,但它似乎是最好的选择...