[RUBY] Implémenter un bouton de partage dans Rails 6 sans utiliser Gem

J'ai pensé que ce serait bien s'il y avait un bouton de partage de partage dans la page avec Rails, alors j'ai cherché diversement sur le net. Beaucoup d'entre eux dépendaient de Gem, j'ai donc décidé de laisser un article pour moi-même.

environnement

Rails: 6.0.2.1

Préparez une icône pour le bouton de partage

Tout d'abord, préparons une icône pour le bouton de partage. Cette fois, j'utiliserai Font Awesome.

Font Awesome est installé à partir de fil.

yarn add @fortawesome/fontawesome-free

Si vous n'avez pas encore installé Webpacker dans votre projet, veuillez l'installer après la commande suivante.

rails webpacker:install

Une fois l'installation terminée, importez le Font Awesome installé dans les fichiers sous ʻapp / javascript / `.

application.js

require("@fortawesome/fontawesome-free/js/all")
import '../stylesheets/application';

Il sera également lu côté scss.

mkdir app/javascript/stylesheets
touch app/javascript/stylesheets/application.scss

application.scss

$fa-font-path: "~font-awesome/fonts/";
@import '@fortawesome/fontawesome-free/scss/fontawesome';

Modifiez les parties style_sheet_link_tag et javascript_pack_tag de views / application.html.erb comme suit.

  <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
  <%= stylesheet_pack_tag 'application', 'data-turbolinks-track': 'reload' %>   

Enfin, ajoutez css pour la couleur de l'icône de application.scss et vous êtes prêt à partir.

/* Twitter icon */

.twitter{color: #1da1f2}

/* Facebook icon */

.facebook{color: #4267b2}

Installation du lien

Cette fois, j'ai défini le bouton de partage du côté des vues comme indiqué ci-dessous.

<%= link_to "https://twitter.com/intent/tweet?url=http://localhost:3000/" do %>
  <i class="fab fa-twitter-square fa-4x twitter"></i>
<% end %>

<%= link_to "https://www.facebook.com/share.php?u=http://localhost:3000/" do %>
  <i class="fab fa-facebook-square fa-4x facebook"></i>
<% end %>

Le bouton Partager sur Twitter vous permet de partager en utilisant Tweet Web Intent. Cette fois, seule l'URL est définie, mais il semble que les paramètres suivants puissent être définis.

option Contenu
text Paramètres du corps
hashtag Paramètres de balise de hachage
url Paramètres d'URL

Pour le bouton de partage côté Facebook, vous pouvez implémenter le bouton de partage en écrivant l'URL que vous souhaitez partager à la fin de https: //www.facebook.com/share.php? U =.

finalement

Les deux URL définies cette fois sont des URL d'hôte local. Lors de sa mise en œuvre, veillez à ne pas oublier de le remplacer par le lien que vous souhaitez partager.

Recommended Posts

Implémenter un bouton de partage dans Rails 6 sans utiliser Gem
Implémenter des transitions de boutons à l'aide de link_to dans Rails
Mettre en œuvre la fonction de classement par étoiles en utilisant Raty dans Rails 6
Markdown implémenté dans Rails
Implémenter le test double dans JUnit sans utiliser de bibliothèques externes
Implémenter la fonction d'application dans Rails
Japaneseize en utilisant i18n avec Rails
Implémenter l'authentification LTI dans Rails
Gemme souvent utilisée dans les rails
[Rails] Implémenter la fonction de fin d'événement (suppression logique) en utilisant la paranoïa (gem)
Implémenter une fonction de connexion simple dans Rails
Implémenter un formulaire de contact dans Rails
Implémenter la fonction de téléchargement CSV dans Rails
Implémentez une fonction de recherche affinée pour plusieurs modèles sans gemme Rails5.
[Rails] Gérez plusieurs modèles à l'aide de la gemme de devise
[Spring MVC] Implémentez les paramètres dynamiques inclus dans l'URL sans utiliser Facultatif (~ Java7)
Comment mettre en œuvre un diaporama en utilisant Slick in Rails (un par un et plusieurs par un)
Mapper sans utiliser de tableau en java
Comment implémenter la fonctionnalité de classement dans Rails
Pour implémenter la publication d'images à l'aide de rails
Créer une fonction d'authentification dans l'application Rails à l'aide de devise
[Rails] Exécutez LINE Bot dans un environnement local à l'aide de ngrok
[Rails6 + Vue.js] Implémenter le processus d'importation CSV à l'aide d'axios
Implémentez la fonction de recherche de correspondance partielle sans utiliser Ransuck
Comment implémenter une fonctionnalité similaire dans Rails
[Rails] Afficher les avatars dans les messages à l'aide du stockage actif
[Rails] Comment créer un bouton de partage Twitter
[Rails] Création d'une liste de miettes de pain à l'aide de Gem gretel
Implémenter des itérations dans View en rendant une collection [Rails]
Implémenter la pagination des rails
Group_by dans Rails
[Ruby on Rails] Comment implémenter la fonction de balisage / recherche incrémentielle pour les articles (sans gemme)
Comment implémenter une image de profil circulaire avec CarrierWave et R Magick in Rails
Comment implémenter la connexion invité en 5 minutes sur le portefeuille de rails
Implémenter la fonction de recherche de publication dans l'application Rails (méthode where)
Comment implémenter une fonctionnalité intéressante dans Ajax avec Rails
[Rails] Implémentez la fonction d'enregistrement / suppression de carte de crédit dans PAY.JP
Enregistrer les données d'un fichier Excel à l'aide de Rails Gem Roo
Introduire la conception avec Rails pour implémenter la fonctionnalité de gestion des utilisateurs
[Pour les débutants de Rails] Implémentation de la fonction de recherche multiple sans Gem
Implémentation de calendrier simple de Rails Gem et branchement conditionnel
Testez la classe injectée sur le terrain dans le test de démarrage Spring sans utiliser le conteneur Spring