[RUBY] [Rails] So implementieren Sie die Sternebewertung

Funktionen, die Sie implementieren möchten

--Ermöglicht die Eingabe und Registrierung nach Sternebewertung

Inhaltsverzeichnis

  1. Spalteneinstellungen
  2. Vorbereitung auf die Sternebewertung
  3. Geben Sie die Sternebewertung ein und speichern Sie sie
  4. Anzeige der Sternebewertung

1. Spalteneinstellungen

Stellen Sie die Spalte ein, um die Bewertung zu speichern. Der Spaltentyp verwendet den Float-Typ, um die Bewertung mit einem halben Stern zu ermöglichen.

db/migrate/20XXXXXXXXXXXX_create_posts.rb


class CreatePosts < ActiveRecord::Migration[6.0]
  def change
    create_table :posts do |t|
     ~Abkürzung~
      t.float :evaluation, null: false
     ~Abkürzung~
    end
  end
end

2. Vorbereitung auf die Sternebewertung

Bild der Sterne

https://github.com/wbotelhos/raty/tree/master/lib/images Laden Sie das Sternbild über den obigen Link herunter. Legen Sie es in einem Ordner in Assets / Images ab.

Funktioniert mit JavaScript

https://github.com/wbotelhos/raty/blob/master/lib/jquery.raty.js Kopieren Sie den Code über den obigen Link. Fügen Sie es in assets / javascript / application.js ein. ** Da es in jquery geschrieben ist, muss auch jquery installiert werden. ** **.

3. Geben Sie die Sternebewertung ein und speichern Sie sie

Sie können eine Sternebewertung eingeben, indem Sie Folgendes in die Ansichtsdatei schreiben.

ruby:app/views/posts/new.html.erb


<%= form_with model: @post, local: true do |f| %>
~Abkürzung~
<div class="field" id="star">
  <%= f.label :evaluation, "Bewertung in Sternen:" %>
  <%= f.hidden_field :evaluation, id: :review_star %>
  <script>
    $('#star').raty({
      size     : 36,
      starOff:  '<%= asset_path('star-off.png') %>',
      starOn : '<%= asset_path('star-on.png') %>',
      starHalf: '<%= asset_path('star-half.png') %>',
      scoreName: 'post[evaluation]',   #In Bewertungsspalte speichern
      half: true,   #Halbsterneingabe
    });
  </script>
</div>
~Abkürzung~
<% end %>

4. Anzeige der Sternebewertung

Sie können die Ergebnisse der Sternebewertung anzeigen, indem Sie Folgendes in die Ansichtsdatei schreiben, in der die Details angezeigt werden.

ruby:app/views/posts/show.html.erb


<% @posts.each do |post| %>
~Abkürzung~
<div class="relative-post-evaluation">
  <span>Bewertung:</span>
  <span id="star-rate-<%= post.id %>"></span>
  <script>
    $('#star-rate-<%= post.id %>').raty({
      size: 36,
      starOff: "<%= asset_path('star-off.png') %>",
      starOn: "<%= asset_path('star-on.png') %>",
      starHalf: "<%= asset_path('star-half.png') %>",
      half: true,   #Halbsternanzeige
      readOnly: true,   #Schreibgeschützt
      score: <%= post.evaluation %>,   #Anzeige der Sternebewertung
    });
  </script>
  <%= post.evaluation %>
</div>
~Abkürzung~
<% end %>

Referenzlink

https://qiita.com/yuki_0920/items/a966d9fa2bdb621f805d https://qiita.com/kitaokeita/items/1e40724c3384507cec13 https://qiita.com/busitora2/items/5b59d1ea9e90c1b016b4

Recommended Posts

[Rails] So implementieren Sie die Sternebewertung
[Rails] So implementieren Sie Scraping
So implementieren Sie Suchfunktionen in Rails
So implementieren Sie Ranking-Funktionen in Rails
[Schienen] Sternebewertung implementieren (Eingabe, Speichern, Anzeigen)
So implementieren Sie die Image-Veröffentlichung mithilfe von Schienen
So deinstallieren Sie Rails
Implementieren Sie die Sternebewertungsfunktion mit Raty in Rails 6
[Rails] So implementieren Sie einen Unit-Test eines Modells
So implementieren Sie eine ähnliche Funktion in Rails
[Schienen] Wie poste ich Bilder?
[Rails] Verwendung von Enum
[Rails] Verwendung von Enum
Wie man Schienenrouten liest
Verwendung von Rails Join
So beenden Sie den Rails-Server
Wie schreibe ich Rails Seed
[Rails] Verwendung der Validierung
[Schienen] So deaktivieren Sie Turbolinks
[Rails] So verwenden Sie authenticate_user!
[Schienen] Wie man Samen macht
Wie schreibe ich Rails Routing
[Rails] So installieren Sie simple_calendar
[Java] So implementieren Sie Multithreading
[Rails] So installieren Sie reCAPTCHA
[Schienen] Verwendung von Scope
So implementieren Sie die Gastanmeldung in 5 Minuten im Rails-Portfolio
So implementieren Sie eine nette Funktion in Ajax mit Rails
[Rails] Wie man Edelstein "devise" benutzt
[Schienen] Verwendung von Geräten (Hinweis)
[Rails] Verwendung von Flash-Nachrichten
[Rails] Anzeigen von Datenbankinformationen
Verwendung von Ruby on Rails
So stellen Sie Bootstrap auf Rails bereit
[Rails] So beschleunigen Sie das Docker-Compose
[Schienen] So fügen Sie neue Seiten hinzu
[Rails] Wie schreibe ich eine Ausnahmebehandlung?
[Rails] So installieren Sie ImageMagick (RMajick)
[Rails] So installieren Sie Font Awesome
[Rails] Verwendung von Active Storage
So installieren Sie jQuery in Rails 6
[Einführung in Rails] Verwendung von Render
So installieren Sie Swiper in Rails
So implementieren Sie die Datumsberechnung in Java
So implementieren Sie den Kalman-Filter mit Java
So ändern Sie den App-Namen in Rails
[Rails] Wie man von erb zu haml konvertiert