2011-03-01 3 views
2

레일스를 처음 사용합니다. Devise를 사용하여 사용자 관리 + 로그인 시스템을 만들려고합니다. 모두 다음 두 가지를 제외하면 훌륭합니다.Rails 3 + devise - 이메일 + 사용자 생성

1) 가입시 "이메일"필드 및/또는 유효성 검사를 제거 할 수있는 방법이 있습니까? 모델에서 validatable을 제거하면 암호도 유효성을 검사하지 않습니다.

2) 시스템에서 사용자 관리를 만드는 가장 좋은 방법은 무엇입니까? 무시 무시한 것 같은 것이 등록에 가입 했습니까?

Google에서 답변을 찾고 문서를 읽었지만 답변을 찾지 못했습니다.

감사합니다.

답변

1

1) 사용자 모델에서 validatable을 제거하고 사용자 정의 유효성 검증을 작성해야합니다.

2) 당신은 유증에 손으로 사용자를 생성 할 수 있습니다 : 생성 된 객체는 단지 유증 가입 액션과 마찬가지로 생성됩니다 유효성 검사를 통과

@user = User.new(:field1 => "something", :field2 => "something else", :password => "secret", :password_confirmation => "secret") 
@user.save 

합니다.

+0

1) 감사합니다 -이 사례에 대한 유용한 자습서가 있습니까? – Orbitum

+1

2) 아니요, 역할 관리가 아니라 사용자 관리입니다. 개발자가 "가입"을 사용하지 않고 사용자를 수동으로 작성합니다 (수동). 어쩌면 거기에 좋은 tut가 무엇입니까? 내가 이해하기 때문에 DB에 삽입하기 전에 암호를 해시해야합니다. – Orbitum

+0

귀하의 의견에 따라 편집 된 답변. 당신은 당신 자신을 암호 해시 할 필요가 없으며, 당신을 위해 그렇게 할 것입니다. –

1

당신은 당신의 사용자 모델

+0

작동하지 않습니다. config/initializers/devise.rb에서 "authentication_keys"를 변경하고 위의 방법을 추가했습니다. 그러나 여전히 전자 메일은 의무 사항입니다. 어떤 아이디어? – Prem

1

1) 당신이 당신의 질문을 어디에 때 어떤 버전 이후, 그러나 적어도 그 시간에 모르는에

def email_required? 
    false 
    end 

와 이메일 유효성 검사를 제거 할 수 있습니다, devise github page에 이미 자습서가 있습니다. 그들은 두 가지 방법을 개략적으로 설명합니다. 하나는 여기에서 설명하고, 어떻게 관리하는지 설명합니다. 그리고 당신은 그들의 유효성을 유지할 수 있습니다.

2) CRUD 사용자의 경우에는 tutorial이 조금 더 최근 버전입니다.

호프 이것은 여전히 ​​누군가에게 도움이됩니다 .-)

관련 문제