[RUBY] Implementieren Sie eine Freigabeschaltfläche in Rails 6, ohne Gem zu verwenden

Ich dachte, es wäre schön, wenn es auf der Seite mit Rails einen Share-Share-Button gäbe, also habe ich im Internet verschiedene Suchanfragen durchgeführt. Viele von ihnen hingen von Gem ab, also beschloss ich, einen Artikel für mich zu hinterlassen.

Umgebung

Rails: 6.0.2.1

Bereiten Sie ein Symbol für die Freigabeschaltfläche vor

Bereiten wir zunächst ein Symbol für die Freigabeschaltfläche vor. Dieses Mal werde ich Font Awesome verwenden.

Font Awesome wird aus Garn installiert.

yarn add @fortawesome/fontawesome-free

Wenn Sie Webpacker noch nicht in Ihrem Projekt installiert haben, installieren Sie es bitte nach dem folgenden Befehl.

rails webpacker:install

Importieren Sie nach Abschluss der Installation die installierte Font Awesome in die Dateien unter "app / javascript /".

application.js

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

Es wird auch auf der scss-Seite gelesen.

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

application.scss

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

Ändern Sie die Teile style_sheet_link_tag und javascript_pack_tag von views / application.html.erb wie folgt.

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

Fügen Sie abschließend CSS für die Symbolfarbe von application.scss hinzu, und Sie können loslegen.

/* Twitter icon */

.twitter{color: #1da1f2}

/* Facebook icon */

.facebook{color: #4267b2}

Link Installation

Dieses Mal habe ich die Schaltfläche "Teilen" auf der Ansichtsseite wie unten gezeigt eingestellt.

<%= 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 %>

Über die Schaltfläche "Teilen" auf Twitter können Sie mithilfe von Tweet Web Intent teilen. Dieses Mal wird nur die URL festgelegt, aber es scheint, dass die folgenden Einstellungen vorgenommen werden können.

option Inhalt
text Körpereinstellungen
hashtag Hash-Tag-Einstellungen
url URL-Einstellungen

Für die Freigabeschaltfläche auf der Facebook-Seite können Sie die Freigabeschaltfläche implementieren, indem Sie die URL, die Sie freigeben möchten, am Ende von "https: //www.facebook.com/share.php? U =" eingeben.

Schließlich

Beide diesmal festgelegten URLs sind Localhost-URLs. Vergessen Sie bei der tatsächlichen Implementierung nicht, den Link zu ändern, den Sie freigeben möchten.

Recommended Posts

Implementieren Sie eine Freigabeschaltfläche in Rails 6, ohne Gem zu verwenden
Implementieren Sie Schaltflächenübergänge mit link_to in Rails
Implementieren Sie die Sternebewertungsfunktion mit Raty in Rails 6
Markdown in Rails implementiert
Implementieren Sie Test Double in JUnit, ohne externe Bibliotheken zu verwenden
Implementieren Sie die Anwendungsfunktion in Rails
Japanisieren Sie mit i18n mit Rails
Implementieren Sie die LTI-Authentifizierung in Rails
Edelstein oft in Schienen verwendet
[Rails] Implementiere die Event-End-Funktion (logisches Löschen) mit Paranoia (Gem)
Implementieren Sie eine einfache Anmeldefunktion in Rails
Implementieren Sie ein Kontaktformular in Rails
Implementieren Sie die CSV-Download-Funktion in Rails
Implementieren Sie eine verfeinerte Suchfunktion für mehrere Modelle ohne Rails5-Juwel.
[Schienen] Verwalten Sie mehrere Modelle mit einem Edelstein
[Spring MVC] Implementieren Sie die in der URL enthaltenen dynamischen Parameter ohne Verwendung von Optional (~ Java7).
So implementieren Sie eine Diashow mit Slick in Rails (einzeln und mehrfach nacheinander)
Map ohne Verwendung eines Arrays in Java
So implementieren Sie Ranking-Funktionen in Rails
So implementieren Sie die Image-Veröffentlichung mithilfe von Schienen
Erstellen Sie die Authentifizierungsfunktion in der Rails-Anwendung mit devise
[Rails] Führen Sie LINE Bot in einer lokalen Umgebung mit ngrok aus
[Rails6 + Vue.js] Implementieren Sie den CSV-Importprozess mithilfe von Axios
Implementieren Sie die Teilübereinstimmungssuchfunktion ohne Ransuck
So implementieren Sie eine ähnliche Funktion in Rails
[Rails] Zeigt Avatare in Posts mit Active Storage an
[Rails] So erstellen Sie eine Twitter-Freigabeschaltfläche
[Rails] Erstellen einer Brotkrumenliste mit Gem gretel
Implementieren Sie Iterationen in View, indem Sie eine Sammlung rendern [Rails]
Implementieren Sie die Rails-Paginierung
Group_by in Rails
[Ruby on Rails] So implementieren Sie die Tagging- / inkrementelle Suchfunktion für Posts (ohne Gem)
So implementieren Sie ein kreisförmiges Profilbild mit CarrierWave und R Magick in Rails
So implementieren Sie die Gastanmeldung in 5 Minuten im Rails-Portfolio
Implementieren Sie die Nachsuchfunktion in der Rails-Anwendung (where-Methode).
So implementieren Sie eine nette Funktion in Ajax mit Rails
[Rails] Implementieren Sie die Registrierungs- / Löschfunktion für Kreditkarten in PAY.JP
Speichern Sie Daten aus einer Excel-Datei mit Rails gem roo
Führen Sie devise with Rails ein, um Benutzerverwaltungsfunktionen zu implementieren
[Für Anfänger von Rails] Mehrfachsuchfunktion ohne Gem implementiert
Kalenderimplementierung und bedingte Verzweigung im einfachen Kalender von Rails Gem
Testen Sie die Klasse mit Feldinjektion im Spring-Boot-Test, ohne den Spring-Container zu verwenden