[Ruby on Rails] Utilisez les cookies et ne les affichez qu'une seule fois lors de l'accès pour la première fois (en utilisant jquery.cookie.js)

Cible

表示.gif

Environnement de développement

ruby 2.5.7 Rails 5.2.4.3 OS: macOS Catalina

couler

Présentation de 1 gemme 2 Chargez jquery.cookie.js 3 Modifier la vue

Introduction de gemme

Active jquery dans Rails.

Gemfile


gem 'jquery-rails'

Terminal


$ bundle insatll

app/assets/javascripts/application.js


//=nécessite jquery ← ajouté
//= require jquery_ujs ← ajouté
//= require activestorage
//= require turbolinks
//= require_tree .

Chargement de jquery.cookie.js

Ajoutez ce qui suit à la partie principale et chargez jquery.cookie.js.

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>




#### **`erb:app/views/layouts/application.html.erb`**
<%= csrf_meta_tags %> <%= csp_meta_tag %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> ← Ajouter ``` # Modifier vue Cette fois, il est complété par html.

erb:app/views/homes/top.html.erb


<div class="indication">
  <div class="box">
    <p>Lorsque vous appuyez sur le bouton de fin d'affichage ci-dessous,<br>Vous ne pouvez pas le voir même si vous le mettez à jour.<br>
Il sera affiché lorsque vous lancerez un nouveau navigateur.
    </p>
    <button>Fin d'affichage</button>
  </div>
</div>

<style>
.indication{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0,0,0,0.5);  
  z-index: 1;
}
.box{
  position:absolute;
  top:40%;
  left:35%;
  width:400px;
  height:150px; 
  background-color: #ffffff;
  z-index:2;
}
.box p{
    padding:15px;
}
.box button{
  display:block;
  margin:0 auto;
}
</style>

<script>
  $(function(){
    $(".indication").show();
    if($.cookie('Flg') == 'on'){
      $(".indication").hide();
    }else{  
      $(".indication").show();
    }
    $(".box button").click(function(){
      $(".indication").fadeOut();
      $.cookie('Flg', 'on', { expires: 1,path: '/' });
    });
  });
</script>

Façon de penser

if($.cookie('Flg') == 'on')À


```on```S'il n'y a pas de description de, la classe d'indication s'affiche.

 De plus, lorsque le bouton est cliqué, la classe d'indication n'est pas affichée,

#### **`$.cookie('Flg', 'on'Dans la description de`**
```cookie('Flg', 'on'Dans la description de

 Mettez la valeur «on» dans le cookie et


#### **`{ expires: 1,path: '/' });Dans la description de`**

La période de conservation du cookie est d'un jour et la plage cible est "/" pour spécifier l'ensemble du site.

Résumé

Il peut ne pas être utilisé si souvent, Je pense que c'est efficace pour les sites auxquels vous devez faire attention et les sites que vous souhaitez enregistrer.

De plus, sur Twitter, les technologies et les idées qui n'ont pas été téléchargées sur Qiita sont également téléchargées, donc Je vous serais reconnaissant si vous pouviez me suivre. Cliquez ici pour plus de détails https://twitter.com/japwork

Recommended Posts

[Ruby on Rails] Utilisez les cookies et ne les affichez qu'une seule fois lors de l'accès pour la première fois (en utilisant jquery.cookie.js)
[Ruby on Rails] Comment se connecter avec seulement votre nom et mot de passe en utilisant le bijou
[Ruby on rails] Lors de l'exécution de la commande heroku, bash: heroku: command not found s'affiche. [Tutoriel Rails]
Essayez d'utiliser l'attribut de requête Ruby on Rails
[Ruby on Rails] Seul l'utilisateur qui a publié peut modifier
[Ruby on Rails] Défilement infini à l'aide de gem kaminari et jscroll
Lorsque vous utilisez Slim avec Ruby on Rails, "une variable locale ou une méthode non définie` f'for" s'affiche dans form_with
Points à retenir et concepts dans le didacticiel Ruby on Rails
[Ruby On Rails] Mesures d'urgence lorsque redirect_to action :: show ne peut pas être (ne peut pas être utilisé) dans l'action de création et de destruction
[Ruby on Rails] Lors de la première connexion ・ Comment diviser l'écran en deux à l'aide de jQuery
Comment déboguer le traitement dans le modèle Ruby on Rails avec juste la console
[Cloud9] Yay! You are on Rails! N'est pas affiché dans le didacticiel sur les rails
[Ruby on Rails] Vérification du code à l'aide de Rubocop-airbnb
Remarques sur l'utilisation de FCM avec Ruby on Rails
[Ruby on Rails] Diaporama d'images utilisant Skippr
Comment le site Web s'affiche à l'écran
[Ruby on Rails] Modifiez la date de mise à jour et la date de création selon votre notation préférée
[Ruby on Rails] Ajoutez et supprimez des balises et affichez les messages (succès / erreur) en utilisant ajax.
[Ruby On Rails] Erreur de test utilisant le client RSpec MySQL n'est pas connecté