[학습성과2] 이탈률 낮추기!간단한 로그인 기능 구현
우리 첫 번째 학자는 좋은 웹 기업에 진출하기 위해 투자조합을 만들었다.하지만 최선을 다해 만든 조합이라 내용이 보이지 않으면 슬프기도 하겠죠.
이 글에서는 앞으로 라일스를 통해 조합을 만들 사람을 대상으로 버튼을 누르면 로그인할 수 있는'퀵 로그인'기능을 구현하는 방법을 소개한다.
방법1: 숨겨진 매개 변수로 숨기기
일단 결론부터.로그인 단추를 표시하고 싶은 곳에 다음 코드를 기재하면 됩니다.
top.rb<%= form_for(User.new, url:login_path) do |f| %>
<%= f.hidden_field :email, value: "[email protected]" %>
<%= f.hidden_field :password, value: "password" %>
<%= f.submit "かんたんログイン", class:"btn btn-lg center-block btn-success"%>
<% end %>
테스트 사용자의 정보를 param[:user]:password]에 넣기loginpath(sessions#create)로 보냅니다.hidden_필드의 내용이 표시되지 않고 외관상으로도 유창하기 때문이다.(소스에 기재되어 있다)
방법2: 서버에서 처리
테스트 세션 컨트롤러를 먼저 만듭니다.$ rails g controller testsessions
라우트를 추가합니다.사용하는 동작은create뿐입니다.
routes.rbresources :testsessions, only: :create
create 작업을 추가합니다.
testsessions_controller.rbclass TestsessionsController < ApplicationController
def create
user=User.find_by(email:"[email protected]")
session[:user_id] = user.id
flash[:success] = "テストユーザとしてログインしました。"
redirect_to user
end
end
컨트롤러에 정보를 넣는 느낌이에요.이렇게 하면 서버 측은 OK입니다.그리고 로그인 버튼을 표시하고 싶은 곳에 다음 코드를 쓰면 됩니다.클라스 좋아해요.
top.rb<%= link_to 'かんたんログイン', testsessions_path, method: :post, class:"btn btn-lg btn-success center-block" %>
우리의 방법에서 테스트 사용자의 정보는 출처에 없다.사용자를 테스트할 때 플래시를 바꾸고 싶을 때 나는 이것이 비교적 좋다고 생각한다.
(보통 기존sessions controller 중if user.email=="[email protected]"...이렇게 하면 의견 차이가 생길 수 있지만 좀 뒤죽박죽이 될 수 있다.)
실화면
방법2가 이미 실현되었다.
주의
로그인 후 이메일과password가 변경되거나 퇴회되면 기능이 없습니다!신중을 기하기 위해서, 보기에서 이러한 기능을 변경하는 것을 표시하지 말고, 테스트 사용자 전용 필터를 설치하십시오.
더 많은 분들이 볼 수 있는 그룹이 됐으면 좋겠습니다!
Reference
이 문제에 관하여([학습성과2] 이탈률 낮추기!간단한 로그인 기능 구현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tktk0430/items/4fe69c8efcb6a9c26ca5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<%= form_for(User.new, url:login_path) do |f| %>
<%= f.hidden_field :email, value: "[email protected]" %>
<%= f.hidden_field :password, value: "password" %>
<%= f.submit "かんたんログイン", class:"btn btn-lg center-block btn-success"%>
<% end %>
테스트 세션 컨트롤러를 먼저 만듭니다.
$ rails g controller testsessions
라우트를 추가합니다.사용하는 동작은create뿐입니다.routes.rb
resources :testsessions, only: :create
create 작업을 추가합니다.testsessions_controller.rb
class TestsessionsController < ApplicationController
def create
user=User.find_by(email:"[email protected]")
session[:user_id] = user.id
flash[:success] = "テストユーザとしてログインしました。"
redirect_to user
end
end
컨트롤러에 정보를 넣는 느낌이에요.이렇게 하면 서버 측은 OK입니다.그리고 로그인 버튼을 표시하고 싶은 곳에 다음 코드를 쓰면 됩니다.클라스 좋아해요.top.rb
<%= link_to 'かんたんログイン', testsessions_path, method: :post, class:"btn btn-lg btn-success center-block" %>
우리의 방법에서 테스트 사용자의 정보는 출처에 없다.사용자를 테스트할 때 플래시를 바꾸고 싶을 때 나는 이것이 비교적 좋다고 생각한다.(보통 기존sessions controller 중if user.email=="[email protected]"...이렇게 하면 의견 차이가 생길 수 있지만 좀 뒤죽박죽이 될 수 있다.)
실화면
방법2가 이미 실현되었다.
주의
로그인 후 이메일과password가 변경되거나 퇴회되면 기능이 없습니다!신중을 기하기 위해서, 보기에서 이러한 기능을 변경하는 것을 표시하지 말고, 테스트 사용자 전용 필터를 설치하십시오.
더 많은 분들이 볼 수 있는 그룹이 됐으면 좋겠습니다!
Reference
이 문제에 관하여([학습성과2] 이탈률 낮추기!간단한 로그인 기능 구현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tktk0430/items/4fe69c8efcb6a9c26ca5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
로그인 후 이메일과password가 변경되거나 퇴회되면 기능이 없습니다!신중을 기하기 위해서, 보기에서 이러한 기능을 변경하는 것을 표시하지 말고, 테스트 사용자 전용 필터를 설치하십시오.
더 많은 분들이 볼 수 있는 그룹이 됐으면 좋겠습니다!
Reference
이 문제에 관하여([학습성과2] 이탈률 낮추기!간단한 로그인 기능 구현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tktk0430/items/4fe69c8efcb6a9c26ca5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)