Hallo! Dies ist Yori-Goreng, der Rails lernt: sonnig: In diesem Artikel werden wir die Einführung von "devise" vorstellen, das die Anmeldefunktion und die Benutzerberechtigungen steuert: entspannt:
Weitere Informationen finden Sie in den folgenden Referenzartikeln.
https://qiita.com/cigalecigales/items/f4274088f20832252374
https://qiita.com/tobita0000/items/866de191635e6d74e392
Als eines der Ruby-Juwelen macht "devise" die Implementierung von Anmeldefunktionen einfach.
Erstellen Sie eine App mit dem Namen "Rails New App". Nennen wir es vorerst devise_test.
rails new devise_test
cd devise_test
rails db:create
Füge "Gemfile" einen Edelstein hinzu.
gem 'devise'
Installieren Sie gem.
bundle install
rails g devise:install
Wenn Sie in Ihrem Terminal einen langen Satz wie den folgenden sehen, sind Sie erfolgreich.
===============================================================================
Some setup you must do manually if you haven't yet:
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.
2. Ensure you have defined root_url to *something* in your config/routes.rb.
For example:
root to: "home#index"
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>
4.You can copy Devise views (for customization) to your app by running:
rails g devise:views
===============================================================================
Erstellen Sie ein Benutzermodell mit dem folgenden Befehl.
rails g devise user
Durch Ausführen einer Migration zu diesem Zeitpunkt wird eine einfache Anmeldeseite abgeschlossen.
rails db:migrate
rails s
Öffnen Sie nach "Rails s" die Anmeldeseite unter http: // localhost: 3000 / users / sign_in.
2.4. before_action :authenticate_user! Wenn Sie "before_action: authenticate_user!" In die Steuerung schreiben, kann die hier durchgeführte Verarbeitung nur vom angemeldeten Benutzer ausgeführt werden. Erstellen Sie beispielsweise einen Homes-Controller.
rails g controller homes index
Fügen Sie "before_action: authenticate_user!" Zu der erstellten "Homes_controller.rb" hinzu.
app/controllers/home_controller.rb
class HomesController < ApplicationController
before_action :authenticate_user!
def index
end
end
Dadurch kann nur der angemeldete Benutzer die Listenanzeige durch die Indexaktion sehen.
Recommended Posts