Rails автозаполнения с проблемой акт-как-taggable-на - PullRequest
2 голосов
/ 22 декабря 2011

Я новичок в рельсах. Я пытаюсь реализовать действия-как-taggable-на с автозаполнением. Проблема, с которой я сталкиваюсь, заключается в том, что если у меня есть несколько тегов для пользователя, автозаполнение предлагает весь тег__телла вместо одного тега.

Это следующий вопрос с ActiveRecord :: Проблема отношений Я сталкивался ранее и решил с помощью Тарын Восток .

Я хочу, чтобы autosuggest предложил мне только серые и зеленые метки вместо серого, белого. Я думаю, что он предлагает мне Grey, White, потому что я создал эти теги для чего-то еще, поэтому он берет весь массив вместо одной записи в массиве.

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 is

<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

users_controller.rb

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

Как я могу решить эту проблему и попросить предложить мне только один тег, а не несколько тегов? Заранее большое спасибо.

1 Ответ

1 голос
/ 22 декабря 2011

Я бы посоветовал вам взглянуть на Railscasts .Он делает то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...