2

私はレール初心者です。私は、オートコンプリートを使ってact-as-taggable-onを実装しようとしています。私が直面している問題は、ユーザーに複数のタグがある場合、オートコンプリートは1つのタグの代わりにtag_list全体を提案することです。Railsはタグ付け可能な行為でオートコンプリート

これはActiveRecord::Relation issueでのフォローアップの質問です。これはTaryn Eastの助けを借りて&を解決しました。

私は唯一の灰色を示唆するautosuggestしたい灰色&灰色、白の代わりに緑のタグ。私はグレー、ホワイトを提案していると思います。なぜなら、前に他のタグを作成していたからです。配列内の単一のレコードではなく、配列全体をとっています。

enter image description here

enter image description here

どのように私はこの問題を克服することができます&私に何の複数のタグを単一のタグ&を示唆していないためにそれを頼みますか?

これは私が得たものです。

_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はどうすればこの問題を克服することができます&私に何の複数のタグを単一のタグ&を示唆していないためにそれを頼みますか?ありがとうございます。

答えて

1

このRailscastsをご覧になることをお勧めします。それはあなたが望むものをほとんど行います。

+0

Railscastsのビデオヒントをありがとう!私はビデオを見ましたが、Ryanは保存されたシングルタグ(著者)を一度に1つずつ使用するように詳しく説明していましたが、情報を保存するときに複数のタグを保存できます。以前に保存した配列全体を表示するのではなく、後で照会で一致するものを単一のタグで表示したい! – gkolan

関連する問題