RubbyonRails에서 트위터풍 웹 응용 프로그램 만들기 STEP3: 로그인, 로그아웃 기능 설치
8531 단어 Rails
명령행
rails g controller Sessions new
라우팅 설정config/routes.rb
resources :sessions, only[:new,:create,:destroy]
로그인 보기 만들기app/vews/sessions/new.html.erb
<div class="row">
<div class="col-md-5 col-md-offset-2">
<h3 class="page-header">ログイン画面</h3>
<%= form_for(:session,url: sessions_path) do |f| %>
<div class="form-group">
<p><%= f.label :email , "メールアドレス"%></p>
</div>
<p><%= f.email_field :email %></p>
<p><%= f.label :password,"パスワード" %></p>
<p><%= f.password_field :password %></p>
<p><%= f.submit "ログインする", class: "btn btn-primary" %></p>
<% end %>
</div>
</div>
로그인에 필요한 도우미 읽기app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
include SessionsHelper
end
로그인 추가 방법app/helper/sessions_helper.rb
module SessionsHelper
def log_in(user)
session[:user_id] = user.id
end
def current_user
if session[:user_id]
@current_user ||= User.find_by(id: session[:user_id])
end
end
def logged_in?
!current_user.nil?
end
def log_out
session.delete(:user_id)
@current_user = nil
end
end
end
로그인 머리글 (탐색 모음), 링크 추가 로그아웃app/vews/shared/_header.html.erb
<ul class="nav navbar-nav navbar-right">
<% if logged_in? %>
<li><%= link_to @current_user.email + "さんでログイン中"%></li>
<li><%= link_to "ログアウト",session_path(@user),method: :delete %></li>
<% else %>
<li><%= link_to "ログイン",new_session_path %></li>
<li><%= link_to "新規登録",new_user_path %></li>
<% end %>
</ul>
사용자가 로그인한 후 로그인 중app/controllers/users_controller.rb
def create
@user = User.new(user_params)
@user.save
log_in @user
redirect_to @user
end
서버를 시작하고 브라우저에서 확인이번에는 여기까지.
다음은 투고 기능을 실시할 것이다이쪽
Reference
이 문제에 관하여(RubbyonRails에서 트위터풍 웹 응용 프로그램 만들기 STEP3: 로그인, 로그아웃 기능 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/JUM22676603/items/f6b81a1422219cec275c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)