【Ruby on Rails】 gem의 devise를 사용하여 이름과 비밀번호만으로 로그인하는 방법
목표
개발 환경
루비 2.5.7
Rails 5.2.4.3
OS: macOS Catalina
전제
※ ▶◯◯를 선택하면 설명 등이 나오므로,
잘 모르는 경우의 참고로 해 주시면 좋겠습니다.
homes 컨트롤러를 작성해, 이하를 기술 완료.
config/routes.rbroot 'homes#top'
get 'mypage', to: 'homes#mypage'
app/controllers/homes_controller.rbclass HomesController < ApplicationController
def top
end
def mypage
end
end
1,devise 설치
Gemfile의 끝에 다음을 추가.
Gemfile
gem 'devise'
저장 후 터미널로 이동하여 다음을 실행.
터미널$ bundle install
터미널$ rails g devise:install
해설
rails g devise:install은 devise를 초기화합니다.
아래와 같은 표시가 되면 OK입니다.
터미널===============================================================================
Depending on your application's configuration some manual setup may be required:
1. Ensure you have defined default url options in your environments files. Here
is an example of default_url_options appropriate for a development environment
in config/environments/development.rb:
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
In production, :host should be set to the actual host of your application.
* Required for all applications. *
2. Ensure you have defined root_url to *something* in your config/routes.rb.
For example:
root to: "home#index"
* Not required for API-only Applications *
3. Ensure you have flash messages in app/views/layouts/application.html.erb.
For example:
<p class="notice"><%= notice %></p>
<p class="alert"><%= alert %></p>
* Not required for API-only Applications *
4. You can copy Devise views (for customization) to your app by running:
rails g devise:views
* Not required *
===============================================================================
오류시
오류가 표시되면 Rails 업데이트로 인한 오류 가능성이 높기 때문에,
Gemfile의 gem 'sqlite3'을 검토하십시오.
2, 로그인 화면 표시
테이블 만들기(이름 추가)
통상시의 기술과는 달리,
devise의 독자적인 규칙인 「rails g devise 모델명」이라고 기술.
이번에는 User 모델을 작성하기 위해 터미널에서 다음을 실행.
터미널$ rails g devise User
아래 폴더에서 t.string :name을 설명합니다.
db/migrate/xxxxxxxxxxxxx_devise_create_users.rb...
t.string :name # ←ここに追加
t.timestamps null: false
end
add_index :users, :email, unique: true
add_index :users, :reset_password_token, unique: true
# add_index :users, :confirmation_token, unique: true
# add_index :users, :unlock_token, unique: true
end
end
보충 1
null: false 를 기술하는 것으로, 하늘의 상태로의 보존을 막습니다.
null : false의 경우 여기
보충 2
이름 이외에도 등록 정보를 추가하려면,
t.string :name과 같이 기술하는 것으로 가능.
ex) t.string :phone_number 등
그 후 터미널로 이동하여 다음을 실행.
터미널$ rails db:migrate
아래와 같은 표시가 되면 OK입니다.
터미널== 20200901103907 DeviseCreateUsers: migrating ================================
-- create_table(:users)
-> 0.0038s
-- add_index(:users, :email, {:unique=>true})
-> 0.0013s
-- add_index(:users, :reset_password_token, {:unique=>true})
-> 0.0013s
== 20200901103907 DeviseCreateUsers: migrated (0.0067s) =======================
view 만들기(이름 추가)
터미널$ rails g devise:views users
해설
rails g devise:views users로 설정하면,
app/views/users 안에 devise의 views를 저장 가능.
views 편집도 가능.
3행째에 있는 <%= form_for %> 안에 다음을 기술.
app/views/devise/registrations/new.html.erb...
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, autofocus: true, autocomplete: "name" %>
</div>
...
아래의 3 개의 이메일을 이름으로, email_field를 text_field로 변경
app/views/devise/sessions/new.html.erb <div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
</div>
↓
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, autofocus: true, autocomplete: "name" %>
</div>
49행 부근에 있는 아래의 설명을 코멘트 아웃 해 [:email]을 [:name]로 변경
config/initializers/devise.rb
config.authentication_keys = [:name]
로그인 전의 view
app/views/homes/top.html.erb<%= link_to '新規登録', new_user_registration_path %><br>
<%= link_to 'ログイン', new_user_session_path %>
로그인 후의 view
app/views/homes/mypage.html.erb<%= current_user.name %><br>
<%= current_user.email %><br>
<%= link_to 'ログアウト', destroy_user_session_path, method: :delete %>
해설
current_user는 devise의 헬퍼 메소드이며, 로그인중의 유저 정보를 취득 가능.
로그아웃시는 http 메소드로의 착색은 없지만,
method: :delete를 지정해 주면 확실.
3, 컨트롤러 만들기
터미널$ rails g devise:controllers users
4행째, 44~46행째, 54~56행째를 코멘트 아웃을 제외해,
45행의 :attribute를 :name, :email로 변경.
55행째의 super(resource)를 날리고 싶은 path로 변경.
app/controllers/users/registrations_controller.rb# frozen_string_literal: true
class Users::RegistrationsController < Devise::RegistrationsController
before_action :configure_sign_up_params, only: [:create]
# before_action :configure_account_update_params, only: [:update]
...
# protected
# If you have extra params to permit, append them to the sanitizer.
def configure_sign_up_params
devise_parameter_sanitizer.permit(:sign_up, keys: [:name, :email])
end
# If you have extra params to permit, append them to the sanitizer.
# def configure_account_update_params
# devise_parameter_sanitizer.permit(:account_update, keys: [:attribute])
# end
# The path used after sign up.
def after_sign_up_path_for(resource)
mypage_path
end
# The path used after sign up for inactive accounts.
# def after_inactive_sign_up_path_for(resource)
# super(resource)
# end
end
해설
44~46행째로 신규 회원 등록시의 컬럼의 보존 허가를 지정.
55~56행째로 신규 회원 등록 후의 천이처를 지정.
보충 회원 정보 갱신 후의 천이처도 상기와 같이 하면 변경 가능. 설명은 57행 이하로 OK.
def after_update_path_for(resource)
mypage_path
end
27행 이하에 추가.
app/controllers/users/sessions_controller.rb...
def after_sign_in_path_for(resource)
mypage_path
end
def after_sign_out_path_for(resource)
root_path
end
end
해설
로그인시, 로그아웃시의 천이처 지정.
devise_for :users 아래에 추가 설명.
config/routes.rbRails.application.routes.draw do
devise_for :users, controllers: {
sessions: 'users/sessions',
registrations: 'users/registrations',
}
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
root 'homes#top'
get 'mypage', to: 'homes#mypage'
end
P.S.
twitter에서는 Qiita에는 업하지 않는 기술이나 사고방식도 업하고 있으므로,
좋으면 팔로우 해 주시면 기쁩니다.
자세한 내용은 여기 htps : // 라고 해서 r. 이 m / 그럼 p를 rk
Reference
이 문제에 관하여(【Ruby on Rails】 gem의 devise를 사용하여 이름과 비밀번호만으로 로그인하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/japwork/items/275110b810965fbdf72f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
루비 2.5.7
Rails 5.2.4.3
OS: macOS Catalina
전제
※ ▶◯◯를 선택하면 설명 등이 나오므로,
잘 모르는 경우의 참고로 해 주시면 좋겠습니다.
homes 컨트롤러를 작성해, 이하를 기술 완료.
config/routes.rbroot 'homes#top'
get 'mypage', to: 'homes#mypage'
app/controllers/homes_controller.rbclass HomesController < ApplicationController
def top
end
def mypage
end
end
1,devise 설치
Gemfile의 끝에 다음을 추가.
Gemfile
gem 'devise'
저장 후 터미널로 이동하여 다음을 실행.
터미널$ bundle install
터미널$ rails g devise:install
해설
rails g devise:install은 devise를 초기화합니다.
아래와 같은 표시가 되면 OK입니다.
터미널===============================================================================
Depending on your application's configuration some manual setup may be required:
1. Ensure you have defined default url options in your environments files. Here
is an example of default_url_options appropriate for a development environment
in config/environments/development.rb:
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
In production, :host should be set to the actual host of your application.
* Required for all applications. *
2. Ensure you have defined root_url to *something* in your config/routes.rb.
For example:
root to: "home#index"
* Not required for API-only Applications *
3. Ensure you have flash messages in app/views/layouts/application.html.erb.
For example:
<p class="notice"><%= notice %></p>
<p class="alert"><%= alert %></p>
* Not required for API-only Applications *
4. You can copy Devise views (for customization) to your app by running:
rails g devise:views
* Not required *
===============================================================================
오류시
오류가 표시되면 Rails 업데이트로 인한 오류 가능성이 높기 때문에,
Gemfile의 gem 'sqlite3'을 검토하십시오.
2, 로그인 화면 표시
테이블 만들기(이름 추가)
통상시의 기술과는 달리,
devise의 독자적인 규칙인 「rails g devise 모델명」이라고 기술.
이번에는 User 모델을 작성하기 위해 터미널에서 다음을 실행.
터미널$ rails g devise User
아래 폴더에서 t.string :name을 설명합니다.
db/migrate/xxxxxxxxxxxxx_devise_create_users.rb...
t.string :name # ←ここに追加
t.timestamps null: false
end
add_index :users, :email, unique: true
add_index :users, :reset_password_token, unique: true
# add_index :users, :confirmation_token, unique: true
# add_index :users, :unlock_token, unique: true
end
end
보충 1
null: false 를 기술하는 것으로, 하늘의 상태로의 보존을 막습니다.
null : false의 경우 여기
보충 2
이름 이외에도 등록 정보를 추가하려면,
t.string :name과 같이 기술하는 것으로 가능.
ex) t.string :phone_number 등
그 후 터미널로 이동하여 다음을 실행.
터미널$ rails db:migrate
아래와 같은 표시가 되면 OK입니다.
터미널== 20200901103907 DeviseCreateUsers: migrating ================================
-- create_table(:users)
-> 0.0038s
-- add_index(:users, :email, {:unique=>true})
-> 0.0013s
-- add_index(:users, :reset_password_token, {:unique=>true})
-> 0.0013s
== 20200901103907 DeviseCreateUsers: migrated (0.0067s) =======================
view 만들기(이름 추가)
터미널$ rails g devise:views users
해설
rails g devise:views users로 설정하면,
app/views/users 안에 devise의 views를 저장 가능.
views 편집도 가능.
3행째에 있는 <%= form_for %> 안에 다음을 기술.
app/views/devise/registrations/new.html.erb...
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, autofocus: true, autocomplete: "name" %>
</div>
...
아래의 3 개의 이메일을 이름으로, email_field를 text_field로 변경
app/views/devise/sessions/new.html.erb <div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
</div>
↓
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, autofocus: true, autocomplete: "name" %>
</div>
49행 부근에 있는 아래의 설명을 코멘트 아웃 해 [:email]을 [:name]로 변경
config/initializers/devise.rb
config.authentication_keys = [:name]
로그인 전의 view
app/views/homes/top.html.erb<%= link_to '新規登録', new_user_registration_path %><br>
<%= link_to 'ログイン', new_user_session_path %>
로그인 후의 view
app/views/homes/mypage.html.erb<%= current_user.name %><br>
<%= current_user.email %><br>
<%= link_to 'ログアウト', destroy_user_session_path, method: :delete %>
해설
current_user는 devise의 헬퍼 메소드이며, 로그인중의 유저 정보를 취득 가능.
로그아웃시는 http 메소드로의 착색은 없지만,
method: :delete를 지정해 주면 확실.
3, 컨트롤러 만들기
터미널$ rails g devise:controllers users
4행째, 44~46행째, 54~56행째를 코멘트 아웃을 제외해,
45행의 :attribute를 :name, :email로 변경.
55행째의 super(resource)를 날리고 싶은 path로 변경.
app/controllers/users/registrations_controller.rb# frozen_string_literal: true
class Users::RegistrationsController < Devise::RegistrationsController
before_action :configure_sign_up_params, only: [:create]
# before_action :configure_account_update_params, only: [:update]
...
# protected
# If you have extra params to permit, append them to the sanitizer.
def configure_sign_up_params
devise_parameter_sanitizer.permit(:sign_up, keys: [:name, :email])
end
# If you have extra params to permit, append them to the sanitizer.
# def configure_account_update_params
# devise_parameter_sanitizer.permit(:account_update, keys: [:attribute])
# end
# The path used after sign up.
def after_sign_up_path_for(resource)
mypage_path
end
# The path used after sign up for inactive accounts.
# def after_inactive_sign_up_path_for(resource)
# super(resource)
# end
end
해설
44~46행째로 신규 회원 등록시의 컬럼의 보존 허가를 지정.
55~56행째로 신규 회원 등록 후의 천이처를 지정.
보충 회원 정보 갱신 후의 천이처도 상기와 같이 하면 변경 가능. 설명은 57행 이하로 OK.
def after_update_path_for(resource)
mypage_path
end
27행 이하에 추가.
app/controllers/users/sessions_controller.rb...
def after_sign_in_path_for(resource)
mypage_path
end
def after_sign_out_path_for(resource)
root_path
end
end
해설
로그인시, 로그아웃시의 천이처 지정.
devise_for :users 아래에 추가 설명.
config/routes.rbRails.application.routes.draw do
devise_for :users, controllers: {
sessions: 'users/sessions',
registrations: 'users/registrations',
}
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
root 'homes#top'
get 'mypage', to: 'homes#mypage'
end
P.S.
twitter에서는 Qiita에는 업하지 않는 기술이나 사고방식도 업하고 있으므로,
좋으면 팔로우 해 주시면 기쁩니다.
자세한 내용은 여기 htps : // 라고 해서 r. 이 m / 그럼 p를 rk
Reference
이 문제에 관하여(【Ruby on Rails】 gem의 devise를 사용하여 이름과 비밀번호만으로 로그인하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/japwork/items/275110b810965fbdf72f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
root 'homes#top'
get 'mypage', to: 'homes#mypage'
class HomesController < ApplicationController
def top
end
def mypage
end
end
Gemfile의 끝에 다음을 추가.
Gemfile
gem 'devise'
저장 후 터미널로 이동하여 다음을 실행.
터미널
$ bundle install
터미널
$ rails g devise:install
해설
rails g devise:install은 devise를 초기화합니다.
아래와 같은 표시가 되면 OK입니다.
터미널
===============================================================================
Depending on your application's configuration some manual setup may be required:
1. Ensure you have defined default url options in your environments files. Here
is an example of default_url_options appropriate for a development environment
in config/environments/development.rb:
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
In production, :host should be set to the actual host of your application.
* Required for all applications. *
2. Ensure you have defined root_url to *something* in your config/routes.rb.
For example:
root to: "home#index"
* Not required for API-only Applications *
3. Ensure you have flash messages in app/views/layouts/application.html.erb.
For example:
<p class="notice"><%= notice %></p>
<p class="alert"><%= alert %></p>
* Not required for API-only Applications *
4. You can copy Devise views (for customization) to your app by running:
rails g devise:views
* Not required *
===============================================================================
오류시
오류가 표시되면 Rails 업데이트로 인한 오류 가능성이 높기 때문에,
Gemfile의 gem 'sqlite3'을 검토하십시오.
2, 로그인 화면 표시
테이블 만들기(이름 추가)
통상시의 기술과는 달리,
devise의 독자적인 규칙인 「rails g devise 모델명」이라고 기술.
이번에는 User 모델을 작성하기 위해 터미널에서 다음을 실행.
터미널$ rails g devise User
아래 폴더에서 t.string :name을 설명합니다.
db/migrate/xxxxxxxxxxxxx_devise_create_users.rb...
t.string :name # ←ここに追加
t.timestamps null: false
end
add_index :users, :email, unique: true
add_index :users, :reset_password_token, unique: true
# add_index :users, :confirmation_token, unique: true
# add_index :users, :unlock_token, unique: true
end
end
보충 1
null: false 를 기술하는 것으로, 하늘의 상태로의 보존을 막습니다.
null : false의 경우 여기
보충 2
이름 이외에도 등록 정보를 추가하려면,
t.string :name과 같이 기술하는 것으로 가능.
ex) t.string :phone_number 등
그 후 터미널로 이동하여 다음을 실행.
터미널$ rails db:migrate
아래와 같은 표시가 되면 OK입니다.
터미널== 20200901103907 DeviseCreateUsers: migrating ================================
-- create_table(:users)
-> 0.0038s
-- add_index(:users, :email, {:unique=>true})
-> 0.0013s
-- add_index(:users, :reset_password_token, {:unique=>true})
-> 0.0013s
== 20200901103907 DeviseCreateUsers: migrated (0.0067s) =======================
view 만들기(이름 추가)
터미널$ rails g devise:views users
해설
rails g devise:views users로 설정하면,
app/views/users 안에 devise의 views를 저장 가능.
views 편집도 가능.
3행째에 있는 <%= form_for %> 안에 다음을 기술.
app/views/devise/registrations/new.html.erb...
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, autofocus: true, autocomplete: "name" %>
</div>
...
아래의 3 개의 이메일을 이름으로, email_field를 text_field로 변경
app/views/devise/sessions/new.html.erb <div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
</div>
↓
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, autofocus: true, autocomplete: "name" %>
</div>
49행 부근에 있는 아래의 설명을 코멘트 아웃 해 [:email]을 [:name]로 변경
config/initializers/devise.rb
config.authentication_keys = [:name]
로그인 전의 view
app/views/homes/top.html.erb<%= link_to '新規登録', new_user_registration_path %><br>
<%= link_to 'ログイン', new_user_session_path %>
로그인 후의 view
app/views/homes/mypage.html.erb<%= current_user.name %><br>
<%= current_user.email %><br>
<%= link_to 'ログアウト', destroy_user_session_path, method: :delete %>
해설
current_user는 devise의 헬퍼 메소드이며, 로그인중의 유저 정보를 취득 가능.
로그아웃시는 http 메소드로의 착색은 없지만,
method: :delete를 지정해 주면 확실.
3, 컨트롤러 만들기
터미널$ rails g devise:controllers users
4행째, 44~46행째, 54~56행째를 코멘트 아웃을 제외해,
45행의 :attribute를 :name, :email로 변경.
55행째의 super(resource)를 날리고 싶은 path로 변경.
app/controllers/users/registrations_controller.rb# frozen_string_literal: true
class Users::RegistrationsController < Devise::RegistrationsController
before_action :configure_sign_up_params, only: [:create]
# before_action :configure_account_update_params, only: [:update]
...
# protected
# If you have extra params to permit, append them to the sanitizer.
def configure_sign_up_params
devise_parameter_sanitizer.permit(:sign_up, keys: [:name, :email])
end
# If you have extra params to permit, append them to the sanitizer.
# def configure_account_update_params
# devise_parameter_sanitizer.permit(:account_update, keys: [:attribute])
# end
# The path used after sign up.
def after_sign_up_path_for(resource)
mypage_path
end
# The path used after sign up for inactive accounts.
# def after_inactive_sign_up_path_for(resource)
# super(resource)
# end
end
해설
44~46행째로 신규 회원 등록시의 컬럼의 보존 허가를 지정.
55~56행째로 신규 회원 등록 후의 천이처를 지정.
보충 회원 정보 갱신 후의 천이처도 상기와 같이 하면 변경 가능. 설명은 57행 이하로 OK.
def after_update_path_for(resource)
mypage_path
end
27행 이하에 추가.
app/controllers/users/sessions_controller.rb...
def after_sign_in_path_for(resource)
mypage_path
end
def after_sign_out_path_for(resource)
root_path
end
end
해설
로그인시, 로그아웃시의 천이처 지정.
devise_for :users 아래에 추가 설명.
config/routes.rbRails.application.routes.draw do
devise_for :users, controllers: {
sessions: 'users/sessions',
registrations: 'users/registrations',
}
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
root 'homes#top'
get 'mypage', to: 'homes#mypage'
end
P.S.
twitter에서는 Qiita에는 업하지 않는 기술이나 사고방식도 업하고 있으므로,
좋으면 팔로우 해 주시면 기쁩니다.
자세한 내용은 여기 htps : // 라고 해서 r. 이 m / 그럼 p를 rk
Reference
이 문제에 관하여(【Ruby on Rails】 gem의 devise를 사용하여 이름과 비밀번호만으로 로그인하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/japwork/items/275110b810965fbdf72f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ rails g devise User
...
t.string :name # ←ここに追加
t.timestamps null: false
end
add_index :users, :email, unique: true
add_index :users, :reset_password_token, unique: true
# add_index :users, :confirmation_token, unique: true
# add_index :users, :unlock_token, unique: true
end
end
$ rails db:migrate
== 20200901103907 DeviseCreateUsers: migrating ================================
-- create_table(:users)
-> 0.0038s
-- add_index(:users, :email, {:unique=>true})
-> 0.0013s
-- add_index(:users, :reset_password_token, {:unique=>true})
-> 0.0013s
== 20200901103907 DeviseCreateUsers: migrated (0.0067s) =======================
$ rails g devise:views users
...
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, autofocus: true, autocomplete: "name" %>
</div>
...
<div class="field">
<%= f.label :email %><br />
<%= f.email_field :email, autofocus: true, autocomplete: "email" %>
</div>
↓
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name, autofocus: true, autocomplete: "name" %>
</div>
config.authentication_keys = [:name]
<%= link_to '新規登録', new_user_registration_path %><br>
<%= link_to 'ログイン', new_user_session_path %>
<%= current_user.name %><br>
<%= current_user.email %><br>
<%= link_to 'ログアウト', destroy_user_session_path, method: :delete %>
터미널
$ rails g devise:controllers users
4행째, 44~46행째, 54~56행째를 코멘트 아웃을 제외해,
45행의 :attribute를 :name, :email로 변경.
55행째의 super(resource)를 날리고 싶은 path로 변경.
app/controllers/users/registrations_controller.rb
# frozen_string_literal: true
class Users::RegistrationsController < Devise::RegistrationsController
before_action :configure_sign_up_params, only: [:create]
# before_action :configure_account_update_params, only: [:update]
...
# protected
# If you have extra params to permit, append them to the sanitizer.
def configure_sign_up_params
devise_parameter_sanitizer.permit(:sign_up, keys: [:name, :email])
end
# If you have extra params to permit, append them to the sanitizer.
# def configure_account_update_params
# devise_parameter_sanitizer.permit(:account_update, keys: [:attribute])
# end
# The path used after sign up.
def after_sign_up_path_for(resource)
mypage_path
end
# The path used after sign up for inactive accounts.
# def after_inactive_sign_up_path_for(resource)
# super(resource)
# end
end
해설
44~46행째로 신규 회원 등록시의 컬럼의 보존 허가를 지정.
55~56행째로 신규 회원 등록 후의 천이처를 지정.
보충 회원 정보 갱신 후의 천이처도 상기와 같이 하면 변경 가능. 설명은 57행 이하로 OK.
def after_update_path_for(resource)
mypage_path
end
27행 이하에 추가.
app/controllers/users/sessions_controller.rb
...
def after_sign_in_path_for(resource)
mypage_path
end
def after_sign_out_path_for(resource)
root_path
end
end
해설
로그인시, 로그아웃시의 천이처 지정.
devise_for :users 아래에 추가 설명.
config/routes.rb
Rails.application.routes.draw do
devise_for :users, controllers: {
sessions: 'users/sessions',
registrations: 'users/registrations',
}
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
root 'homes#top'
get 'mypage', to: 'homes#mypage'
end
P.S.
twitter에서는 Qiita에는 업하지 않는 기술이나 사고방식도 업하고 있으므로,
좋으면 팔로우 해 주시면 기쁩니다.
자세한 내용은 여기 htps : // 라고 해서 r. 이 m / 그럼 p를 rk
Reference
이 문제에 관하여(【Ruby on Rails】 gem의 devise를 사용하여 이름과 비밀번호만으로 로그인하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/japwork/items/275110b810965fbdf72f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【Ruby on Rails】 gem의 devise를 사용하여 이름과 비밀번호만으로 로그인하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/japwork/items/275110b810965fbdf72f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)