확인란으로 Rails Devise 사용자 확인

Lloydo

사용자를 관리하는 동안 관리자가 사용자의 devise user.confirm 메소드를 트리거하는 확인란을 사용하여 사용자의 계정을 확인할 수 있기를 바랍니다.

처음에는 attr_accessor를 사용하여 사용자 양식에서 부울로 사용할 confirm_now 라는 변수를 설정할 수 있다고 생각한 다음 컨트롤러 업데이트 작업 (또는 작업 전 / 후 콜백에 의해)에서 부울을 평가하고 사용자를 확인합니다. 따라서.

attr_accessor 변수를 설정하고 읽기 위해 모델에 메서드가 필요한지 아직 확실하지 않습니다. 여전히 그것에 대해 머리를 찟고 있습니다 ... 또는 아마도 이것을 지나치게 복잡하게 만들고 사용자에게 전화해야합니다. 저장을 클릭 할 때 메소드를 사용합니다 (나쁜 습관입니까?-user_params에이 필드를 추가하는 것을 망설임).

모델:

class User < ApplicationRecord

  attr_accessor :confirm_now
...

제어 장치:

class UsersController < ApplicationController
...
  def update
    if params[:user][:password].blank?
      params[:user].delete(:password)
      params[:user].delete(:password_confirmation)
    end
    if [email protected]? && @user.confirm_now
      @user.confirm
    end
...
  private

    def user_params
      params.require(:user).permit(:first_name, :last_name, :email, :password, :account_active, :confirm_now)
    end

양식 스 니펫 (예상대로 평가되고 작동 함 ) :

  <% if [email protected]? %>                   
    <%= f.input :confirm_now, label: 'Confirm User', as: :boolean, checked_value: true, unchecked_value: false %>
  <% end %>

Rails Log (attr_accessor는 양식에서 확인할 때 설정 됨) :

Processing by UsersController#update as HTML
  Parameters: {"authenticity_token"=>"...", "user"=>{"first_name"=>"gg", "last_name"=>"gg", "email"=>"[email protected]", "account_active"=>"1", "confirm_now"=>"true", "password"=>"[FILTERED]"}, "commit"=>"Save", "id"=>"45"}
  User Load (0.3ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."first_name" ASC LIMIT $2  [["id", 1], ["LIMIT", 1]]
  User Load (0.3ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."first_name" ASC LIMIT $2  [["id", 45], ["LIMIT", 1]]
  CACHE User Load (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = $1 ORDER BY "users"."first_name" ASC LIMIT $2  [["id", 45], ["LIMIT", 1]]
Redirected to http://localhost:3000/users
Completed 302 Found in 6ms (ActiveRecord: 0.6ms | Allocations: 2665)

미리 감사드립니다!

Fabricofreitag

단순화하기 위해 버튼으로 만들고 confirmed_at필드를 직접 전달합니다 .

매개 변수 허용 목록 :

def user_params
  params.require(:user).permit(:first_name, :last_name, :email, :password, :account_active, :confirmed_at)
end

형태:

<%=
  if @user.confirmed?
    link_to 'Unconfirm user',
            user_path(@user, { user: { confirmed_at: nil } }),
            method: :patch        
  else
    link_to 'Confirm user',
            user_path(@user, { user: { confirmed_at: Time.current } }),
            method: :patch
  end 
%>

경로에 따라 경로 / 방법 유형을 조정하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Rails-Devise : 사용자가 로그인 할 수 있는지 확인

분류에서Dev

확인없이 Devise 사용자 생성

분류에서Dev

Rails + Devise : 사용자가 확인 이메일로 확인하기 전에 로그인을 시도하면 오류 알림이 표시되지 않습니까?

분류에서Dev

Rails 4-devise를 사용하여 새 사용자 등록을 만들 때 확인란 계약 유효성 검사가 실패합니다.

분류에서Dev

Devise and Rails의 확인란 도우미 메서드를 사용한 부울 속성 업데이트

분류에서Dev

Devise가 포함 된 Rails 5-Devise 사용자 has_one 로그인

분류에서Dev

사용자가 자체적으로 채워진 ip_location 속성이 채워 졌는지 확인하기위한 Rspec 테스트 (Rails 4 / devise / geocoder)

분류에서Dev

Rails Devise는 로그인시 사용자를 추가합니다.

분류에서Dev

Devise Rails에서 로그인시 직접 사용자

분류에서Dev

로그인하지 않은 사용자 처리-Rails 4-Devise

분류에서Dev

Devise + Angular + Rails 4 : 로그인 한 사용자가 사용자 이름 / 비밀번호를 확인하지 않고 변경

분류에서Dev

Rails 4 : devise로 user_id만으로 사용자를 인증하는 방법

분류에서Dev

Rails 4 : devise로 user_id만으로 사용자를 인증하는 방법

분류에서Dev

Rails Devise-확인 가능한 구성

분류에서Dev

Rails Devise에서 확인되지 않은 사용자에 대해 302 오류가 발생했습니다.

분류에서Dev

cancancan 사용 중 Devise 사용자 확인시 오류

분류에서Dev

Rails : Devise를 사용하여 사용자를 로그인 할 수 없습니다.

분류에서Dev

Ruby on Rails : 사용자가 확인란을 선택했는지 확인

분류에서Dev

온라인 사용자 목록에 Onliner gem을 사용하는 Rails Devise

분류에서Dev

Devise : 사용자가 이미 확인되면 오류 표시

분류에서Dev

인증 된 사용자를 특정 경로로 리디렉션하는 Rails Devise

분류에서Dev

Rails 생성기로 생성 된 Devise 사용자가 로그인 할 수 없음

분류에서Dev

Devise : 사용자 확인시 사용자 기본 템플릿 설정

분류에서Dev

Rails, Devise : 사용자가 로그인 한 경우 사용자 ID로 생성하고

분류에서Dev

devise_token_auth를 사용할 때 사용자가 Rails API를 통해 요청 된 리소스를 소유하고 있는지 확인하는 방법

분류에서Dev

Heroku의 My Rails 앱을 통해 Mandrill을 사용하여 Devise 확인 메일러 보내기

분류에서Dev

사용자 등록 확인이 무시되고 있습니다.-devise 사용

분류에서Dev

사용자 등록 확인이 무시되고 있습니다.-devise 사용

분류에서Dev

Rails에서 사용자 확인을 기반으로 입력 필드 지우기

Related 관련 기사

  1. 1

    Rails-Devise : 사용자가 로그인 할 수 있는지 확인

  2. 2

    확인없이 Devise 사용자 생성

  3. 3

    Rails + Devise : 사용자가 확인 이메일로 확인하기 전에 로그인을 시도하면 오류 알림이 표시되지 않습니까?

  4. 4

    Rails 4-devise를 사용하여 새 사용자 등록을 만들 때 확인란 계약 유효성 검사가 실패합니다.

  5. 5

    Devise and Rails의 확인란 도우미 메서드를 사용한 부울 속성 업데이트

  6. 6

    Devise가 포함 된 Rails 5-Devise 사용자 has_one 로그인

  7. 7

    사용자가 자체적으로 채워진 ip_location 속성이 채워 졌는지 확인하기위한 Rspec 테스트 (Rails 4 / devise / geocoder)

  8. 8

    Rails Devise는 로그인시 사용자를 추가합니다.

  9. 9

    Devise Rails에서 로그인시 직접 사용자

  10. 10

    로그인하지 않은 사용자 처리-Rails 4-Devise

  11. 11

    Devise + Angular + Rails 4 : 로그인 한 사용자가 사용자 이름 / 비밀번호를 확인하지 않고 변경

  12. 12

    Rails 4 : devise로 user_id만으로 사용자를 인증하는 방법

  13. 13

    Rails 4 : devise로 user_id만으로 사용자를 인증하는 방법

  14. 14

    Rails Devise-확인 가능한 구성

  15. 15

    Rails Devise에서 확인되지 않은 사용자에 대해 302 오류가 발생했습니다.

  16. 16

    cancancan 사용 중 Devise 사용자 확인시 오류

  17. 17

    Rails : Devise를 사용하여 사용자를 로그인 할 수 없습니다.

  18. 18

    Ruby on Rails : 사용자가 확인란을 선택했는지 확인

  19. 19

    온라인 사용자 목록에 Onliner gem을 사용하는 Rails Devise

  20. 20

    Devise : 사용자가 이미 확인되면 오류 표시

  21. 21

    인증 된 사용자를 특정 경로로 리디렉션하는 Rails Devise

  22. 22

    Rails 생성기로 생성 된 Devise 사용자가 로그인 할 수 없음

  23. 23

    Devise : 사용자 확인시 사용자 기본 템플릿 설정

  24. 24

    Rails, Devise : 사용자가 로그인 한 경우 사용자 ID로 생성하고

  25. 25

    devise_token_auth를 사용할 때 사용자가 Rails API를 통해 요청 된 리소스를 소유하고 있는지 확인하는 방법

  26. 26

    Heroku의 My Rails 앱을 통해 Mandrill을 사용하여 Devise 확인 메일러 보내기

  27. 27

    사용자 등록 확인이 무시되고 있습니다.-devise 사용

  28. 28

    사용자 등록 확인이 무시되고 있습니다.-devise 사용

  29. 29

    Rails에서 사용자 확인을 기반으로 입력 필드 지우기

뜨겁다태그

보관