[RUBY] Tag-Funktion mit Acts-as-Taggable-On für Devise My Memo

Edelsteininstallation

gem 'acts-as-taggable-on', '~> 6.0'
bundle install

Tabelle erstellen

$ rake acts_as_taggable_on_engine:install:migrations
$ rake db:migrate

Tag speichern Fügen Sie dem Modell, das Sie markieren möchten, Folgendes hinzu. (Dieses Mal wollte ich das Post-Modell markieren, also schreibe es in post.rb) Aus dem Modellordner

class Post < ApplicationRecord
  acts_as_taggable
end

Fügen Sie Folgendes bei der Registrierung hinzu

  <div class="field">
    <%= f.label :tag_list %><br />
    <%= f.text_field :tag_list, value: @user.tag_list.join(","), class:"form-control" %>
  </div>

Wenn Sie sie durch Leerzeichen trennen möchten, erstellen Sie Acts_as_taggable_on.rb in config / initializers / und schreiben Sie wie folgt.

ActsAsTaggableOn.delimiter = ' '

Die Benutzer show.html.erb sollten ebenfalls unten sein

<% @user.tag_list.each do |tag| %>
  <span class="badge badge-primary mr-1 p-2"><%= tag %></span>
<% end %>

Oder

<% @post.tag_list.each do |tag| %>
  <span style="background-color: #e9e9e9; border-radius: 5px;"><%= tag %></span>
<% end %>

Haben Sie Folgendes für application.controller?

devise_parameter_sanitizer.permit(:account_update, keys:[:tag_list])

zusätzliche Information Offensichtlich stehen verschiedene Methoden zur Verfügung.

find_related_skills Aufgaben, die sich auf dasselbe Tag beziehen, werden angezeigt Obwohl es sich nicht um eine taggings_count-Methode handelt, wird angezeigt, wie oft das entsprechende Tag verwendet wurde. tag_counts Alle Tag-Daten können erfasst werden Und so weiter ... es gab noch mehr.

Informationen zur Verwendung finden Sie in der Referenz.

Wenn die Tags mit demselben Namen registriert sind, haben sie dieselbe ID. Beispiel: Auch wenn Sie sich in einer anderen Aufgabe als Rails registrieren, ist die ID dieselbe

Referenz-URL https://qiita.com/ddgg7755/items/e1caa8b73d118822a0a2 https://qiita.com/daigou26/items/e67e61bbec338329ffac https://qiita.com/kazuhj/items/31d3b1751d9c957b789f

Wenn Sie Tag-it verwenden möchten

# Gemfile
gem "jquery-ui-rails"

bundle install

Fügen Sie dem Anbieter / den Assets Folgendes hinzu


https://github.com/aehlke/tag-it


curl https://raw.githubusercontent.com/aehlke/tag-it/master/js/tag-it.js -o vendor/assets/javascripts/tag-it.js

curl https://raw.githubusercontent.com/aehlke/tag-it/master/css/jquery.tagit.css -o vendor/assets/stylesheets/jquery.tagit.css

curl https://raw.githubusercontent.com/aehlke/tag-it/master/css/tagit.ui-zendesk.css -o vendor/assets/stylesheets/tagit.ui-zendesk.css

application.js

//= require jquery
//= require rails-ujs
//= require jquery-ui
//= require tag-it
//= require activestorage
//= require turbolinks
//= require_tree .

app/assets/stylesheets/application.css *= require_tree . *= require jquery-ui *= require jquery.tagit *= require tagit.ui-zendesk *= require_self

Wahrscheinlich gebraucht

gem 'jquery-rails', '4.3.1'

edit.html

  <!-- #taggable #tag-Hinzugefügt von ihm-->
  <div class="field",id: "user_tag_list>
    <%= f.label :aufführen%>
    <%= f.text_field :tag_list, value: @user.tag_list.join(","), class:"form-control" %>
  </div>
<%= javascript_tag do %>
var myProject = {
  all_tag_list: <%= raw @all_tag_list %>
};
<% end %>

js

$(document).on 'ready page:load', ->
  $('#article_tag_list').tagit
    singleField: true,
    availableTags: myProject.all_tag_list

Siehe automatische Vervollständigung oder unten https://qiita.com/tyamagu2/items/75eeaa8ef208385aa341 http://rochefort.hatenablog.com/entry/2016/10/16/165139

Recommended Posts

Tag-Funktion mit Acts-as-Taggable-On für Devise My Memo
[Rails] Tag-Verwaltungsfunktion (unter Verwendung von Acts-as-Taggable-On)
Erstellen Sie eine Filterfunktion mit Acts-as-Taggable-On
[Rails] Implementierung der Tag-Funktion mit Acts-as-Taggable-On und der Funktion zur Vervollständigung der Tag-Eingabe mit Tag-It
Implementierung der Benutzerauthentifizierungsfunktion mit devise (2)
Implementierung der Benutzerauthentifizierungsfunktion mit devise (1)
Implementierung der Benutzerauthentifizierungsfunktion mit devise (3)
Erstellen Sie die Authentifizierungsfunktion in der Rails-Anwendung mit devise
Tag-Funktion zu Rails hinzufügen. Verwenden Sie Acts-as-Taggable-On
Implementierung der Ruby on Rails-Anmeldefunktion (Devise Edition)