ActsAsTaggableOn Пометка флажками - PullRequest
0 голосов
/ 28 августа 2011

Я играю с ActsAsTaggableOn в небольшом проекте, чтобы увидеть, каковы возможности этого драгоценного камня.Таким образом, у меня есть Продукты, и продукты могут иметь теги.

В моем продукте _form

<%= form_for(@product) do |f| %>
<div class="field">
  <%= f.label :title %><br />
  <%= f.text_field :title %>
</div>
Tags<br />
<% tag_cloud(@tags, %w(css1 css2 css3 css4)) do |tag, css_class| %>
    <%= check_box_tag 'product[tag_list][]',tag.name,@product.tag_list.include? (tag),:class => css_class %>
    <%= tag.name %>
<% end %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>

В ProductController я определил метод tag_cloud

 def tag_cloud
   @tags = Product.tag_counts_on(:tags)
 end

Итак, в моем редактированиипродукт, я могу пометить продукт флажками, но если продукт уже имеет теги, эти флажки не установлены.Я предполагаю, что здесь @ product.tag_list.include?(тег) Я что-то упускаю или делаю что-то не так.

Есть идеи?Спасибо за вашу помощь =)

Приветствия.

1 Ответ

3 голосов
/ 30 августа 2011

Сегодня, прочитав более внимательно, я нашел ответ на этот вопрос.

Эта строка

<%= check_box_tag 'product[tag_list][]',tag.name,@product.tag_list.include? (tag),:class => css_class %>

должна быть

<%= check_box_tag 'product[tag_list][]',tag.name,@product.tag_list.include? (tag.name),:class => css_class %>

Так что вместообъект, который я хочу проверить, существует ли это имя в списке.

Надеюсь, это кому-нибудь поможет.

...