問題:如何使用ActiveAdmin和Devise 2實現以下模型設計?ActiveAdmin,Devise 2在現有(但裸露)的用戶模型中不起作用
我已成功設置active_admin並使用現有的User
模型進行引導。
我認爲這種模式設計的手段(「有管理員用戶管理用戶」)。
這裏是我當前的模型建立:
irb(main):003:0> User.column_names
=> ["id", "created_at", "updated_at", "avatar", "name"]
irb(main):004:0> AdminUser.column_names
=> ["id", "email", "encrypted_password", "reset_password_token", "reset_password_sent_at", "remember_created_at", "sign_in_count", "current_sign_in_at", "last_sign_in_at", "current_sign_in_ip", "last_sign_in_ip", "created_at", "updated_at"]
現在我想補充一些authenticaton我的用戶模型。但是我無法遷移的rails generate devise User
的結果,而這種衝突:
== AddDeviseToUsers: migrating ===============================================
-- change_table(:users)
-> 0.7201s
-- add_index(:users, :email, {:unique=>true})
rake aborted!
An error has occurred, this and all later migrations canceled:
PG::Error: ERROR: could not create unique index "index_users_on_email"
DETAIL: Key (email)=() is duplicated.
: CREATE UNIQUE INDEX "index_users_on_email" ON "users" ("email")
Tasks: TOP => db:migrate
現在我沒有在我目前的用戶模型中的email
屬性,但管理用戶一樣。所以,當Devise試圖在User
中創建電子郵件屬性時,我懷疑這就是我得到這個錯誤的原因。但爲什麼?他們在不同的模型?
任何幫助例如經驗,職位或教程,將不勝感激(以及一個答案)
注意我曾嘗試在設計wiki和here找到了解決辦法,對移民沒有成功。
非常感謝你,這完全按預期工作。 – rhodee 2012-02-20 19:16:44
我遇到了同樣的問題。然後,我改變了如設計wiki中提到的諸如:email到t.change:email,:string,:null => false,:default =>「」的列,但是索引I找不到任何技巧,因爲它不是數據類型,所以我只是將它評論爲遷移文件中的索引,並繼續進行遷移,並在成功遷移後取消註釋它們。 – Means 2017-04-24 10:37:45