1

Rails Composer と Devise および Rolify によって生成された Ruby 2 Rails 4 アプリケーションがあります。Devise User モデルの名前を変更しようとしているので、破棄して生成したかったのです。ただし、Rolify に関連するエラーが発生します。私は Rolify を破壊しようと何度か試みましたが成功しませんでした。Devise で作業できるように、その点を乗り越えることができませんでした。

この問題を解決するためのいくつかの試みと、発生するエラーを示します。 各試行は、アプリケーションの新しいコピーから開始されました。 エラーストリームのみを示します。

基本的に 2 つの質問があります。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)

deviseモデルを破棄し、deviseモデルを生成し、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)
4

1 に答える 1