나는 데이터베이스에 username
열을 만듭니다. 지금은 email
을 제거한 다음 사용자 sign up
을 username
으로 삭제하고 싶습니다. 이 경우 username
필드를 sign up
페이지에 만들 수 있지만 다시 새 필드를 작성해야합니다. 그렇지 않으면 이메일 필드의 유효성 검사 오류가 발생합니다. 전자 메일 유효성 검사를 제거하고이를 사용자 이름의 개인 유효성 검사로 바꿀 수 있습니까? 그리고 나서 사용자는 username
과 password
을 입력하여 가입 할 수 있습니까?devise : 사용자 이름으로 등록
users_controller.rb
: 나는에 코드 아래에있는
def user_params
params.require(:user).permit(:username, :email, :password, :password_confirmation, :remember_me)
end
views/devise/registrations/new.html.erb
:
<h2>Sign up</h2>
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<div><%= f.label :email %><br />
<%= f.email_field :email, autofocus: true %></div>
<div><%= f.label :username %><br />
<%= f.email_field :username %></div>
<div><%= f.label :password %> <% if @validatable %><i>(<%= @minimum_password_length %> characters minimum)</i><% end %><br />
<%= f.password_field :password, autocomplete: "off" %></div>
<div><%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation, autocomplete: "off" %></div>
<div><%= f.submit "Sign up" %></div>
<% end %>
<%= render "user/shared/links" %>
몇 가지 질문이 있습니다. 이메일 입력란을 완전히 삭제하고 있으므로 사용자에게 확인 안내를 어떻게 보내시겠습니까? 사용자에게 비밀번호 재설정 안내를 어떻게 보내시겠습니까? – Mandeep
사용자가 자기 계정으로 계정을 만들 수 없으며 Superadmin이 사용자 이름으로 새 사용자를 만들고 사용자가 암호를 잊어 버린 경우 superadmin에서 암호를 재설정 할 수 있습니다. 사용자 전화 번호를 받고 번호로 비밀번호 재설정을 보냅니다. – mgh
나는 다른 목적을 위해 전자 메일을 모두 삭제하도록 허락하지 않을 것이라고 생각합니다. 당신이 내게 말했던 것에서는 당신이 devise 또는 다른 보석을 사용자 지정하려고 시도하지 않고 자신의 단순한 인증 시스템을 만드는 것이 더 좋을 것이라고 생각합니다. – Mandeep