私はレール初心者です。私は、オートコンプリートを使ってact-as-taggable-onを実装しようとしています。私が直面している問題は、ユーザーに複数のタグがある場合、オートコンプリートは1つのタグの代わりにtag_list全体を提案することです。Railsはタグ付け可能な行為でオートコンプリート
これはActiveRecord::Relation issueでのフォローアップの質問です。これはTaryn Eastの助けを借りて&を解決しました。
私は唯一の灰色を示唆するautosuggestしたい灰色&灰色、白の代わりに緑のタグ。私はグレー、ホワイトを提案していると思います。なぜなら、前に他のタグを作成していたからです。配列内の単一のレコードではなく、配列全体をとっています。
どのように私はこの問題を克服することができます&私に何の複数のタグを単一のタグ&を示唆していないためにそれを頼みますか?
これは私が得たものです。
_form.html.erb
<%= form_for(@user) do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.label :tags %>
<%= f.autocomplete_field :tag_list, autocomplete_tag_name_users_path, :"data-delimiter" => ', ' %>
<% end %>
index.html.erb
<% @users.each do |user| %>
<h3><%= user.name %></h3>
<h4><i><%= user.tag_list %></i> | <%= time_ago_in_words(user.created_at) %> ago</h4>
<h4><%= link_to 'Show', user %> | <%= link_to 'Edit', edit_user_path(user) %> | <%= link_to 'Delete', user, confirm: 'Are you sure?', method: :delete %></h4>
<% end %>
<h1>Listing All Tags [<%= @smart.map(&:name).length %>]</h1>
<ul>
<% @smart.each do |tag| %>
<li> <%= tag.name %></li>
<% end %>
new.html.erbある
<h1>New user</h1>
<%= render 'form' %>
<%= link_to 'Back', users_path %>
user.rb
class User < ActiveRecord::Base
serialize :tags
acts_as_taggable_on :tags
scope :by_join_date, order("created_at DESC")
end
class UsersController < ApplicationController
autocomplete :tag, :name, :class_name => 'ActsAsTaggableOn::Tag'
def index
@users = User.all
@smart = User.tag_counts_on(:tags)
end
def new
@user = User.new
end
end
users_controller.rbはどうすればこの問題を克服することができます&私に何の複数のタグを単一のタグ&を示唆していないためにそれを頼みますか?ありがとうございます。
Railscastsのビデオヒントをありがとう!私はビデオを見ましたが、Ryanは保存されたシングルタグ(著者)を一度に1つずつ使用するように詳しく説明していましたが、情報を保存するときに複数のタグを保存できます。以前に保存した配列全体を表示するのではなく、後で照会で一致するものを単一のタグで表示したい! – gkolan