질문 : ActiveAdmin과 Devise 2를 사용하여 아래 모델 디자인을 어떻게 얻을 수 있습니까?ActiveAdmin, 기존 (단품)의 Devise 2 사용자 모델이 작동하지 않음
기존의 User
모델을 사용하여 active_admin을 성공적으로 설정했습니다.
이 모델 디자인은 "관리자를 통해 사용자 관리"를 의미합니다. 여기
나의 현재의 모델 설정 :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을 추가하고 싶습니다.
== 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
속성을 가지고 있지 않지만, 관리 사용자는 않습니다 : 그러나 나는이 충돌없이
rails generate devise User
의 결과를 마이그레이션 할 수 없습니다입니다. 따라서 Devise가
User
에 전자 메일 특성을 만들려고하면이 오류가 발생하는 것입니다. 하지만 왜? 그들은 다른 모델에 있습니까?
도움이됩니다. 경험, 게시물 또는 자습서 마이그레이션에 성공하지, (물론 답)
참고 내가 고안 위키와 here에있는 해결책을 시도을 감상 할 수있다.
예상대로 정확하게 작동했습니다. – rhodee
나는 같은 문제가있다. 그런데, 위와 같은 항목을 : devise 위키에서 언급 한대로 t.change : email, : string, : null => false, : default => ""로 변경했다. 데이터 유형이 아니므로 어떤 트릭도 찾을 수 없었습니다. 따라서 마이그레이션 파일의 인덱스에 주석을 달고 마이그레이션을 진행하고 성공적인 마이그레이션 후에 주석을 제거했습니다. – Means