簡體   English   中英

如何銷毀和/或重命名設計用戶模型?

[英]How to destroy rolify and/or rename devise user model?

我有一個由Rails Composer使用Devise和Rolify生成的Ruby 2 Rails 4應用程序。 我試圖重命名Devise User模型,所以我想銷毀它並生成它。 但是,我在嘗試與Rolify相關的操作時遇到錯誤。 我已經進行了多次嘗試來摧毀Rolify,但均未成功,也無法超越這一點,因此我可以與Devise合作。

我將展示一些嘗試解決此問題的方法,以及出現的錯誤。 每次嘗試都從應用程序的新副本開始。 我只顯示錯誤流。

我基本上有兩個問題:1.如何消滅麻痹? 2.是否有更好的方法來重命名devise用戶模型? 我以為自己找到了另一種方式,但是,對於我自己的一生,我再也找不到了。

銷毀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)

無論如何,我一直找不到這樣做。 支持Rolify似乎不起作用。 我決定使用Rails Composer創建不帶Devise,Rolify和CanCan的應用程序,然后使用所需的模型名稱和配置分別生成每個應用程序。 然后,我可以將所有編寫的代碼遷移到該應用程序中並進行修改。 這不是一個簡單的答案,但這似乎是最好的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM