Gemfile
#Omission
gem 'devise'
Terminal
#Démarrez le serveur
% rails s
Terminal
#Créer un fichier de configuration de périphérique
% rails g devise:install
Terminal
#Créer un modèle utilisateur avec la commande devise
% rails g devise user
Terminal
#Effectuer la migration
% rails db:migrate
Terminal
# 「ctrl +Quittez le serveur local avec "C"
#Redémarrez le serveur local
% rails s
app/controllers/tweets_controller.rb
class TweetsController < ApplicationController
  before_action :set_tweet, only: [:edit, :show]
  before_action :move_to_index, except: [:index, :show]
  def index
    @tweets = Tweet.all
  end
  def new
    @tweet = Tweet.new
  end
  def create
    Tweet.create(tweet_params)
  end
  def destroy
    tweet = Tweet.find(params[:id])
    tweet.destroy
  end
  def edit
  end
  def update
    tweet = Tweet.find(params[:id])
    tweet.update(tweet_params)
  end
  def show
  end
  private
  def tweet_params
    params.require(:tweet).permit(:name, :image, :text)
  end
  def set_tweet
    @tweet = Tweet.find(params[:id])
  end
  def move_to_index
    unless user_signed_in?
      redirect_to action: :index
    end
  end
end
Terminal
rails g devise:views
Terminal
#Assurez-vous que le répertoire est pictweet
% pwd
#Créez un fichier de migration qui ajoute une colonne de pseudonyme de type chaîne à la table des utilisateurs
% rails g migration AddNicknameToUsers nickname:string
#Exécutez la migration créée
% rails db:migrate
Terminal
# 「ctrl +Quittez le serveur local avec "C"
#Redémarrez le serveur local
% rails s
app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
  before_action :configure_permitted_parameters, if: :devise_controller?
  private
  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname])
  end
end
Recommended Posts