Поэтому после поиска драгоценного камня для моего приложения rails я обнаружил удивительный драгоценный камень actions-as-taggable .Установив его и поиграв в него, я обнаружил, что он хранит все теги внутри тега db, который просто хранит имя Tag.name без контекста, вместо этого контекст содержится в отношении: through db (тегирование).Для большинства целей я вижу, что это идеально.За исключением моего приложения, я хочу иметь возможность предлагать пользователю возможность пометить тегами на основе ранее существующих тегов (например, не разрешать им создавать свои собственные), а действует как теги не имеетвозможность поиска по всем тегам в пределах одного встроенного контекста (например, если бы я представлял автозаполнение тега db, в мое приложение были бы включены все теги, что не то, что я хочу)
Метод, приведенный ниже, - это то, что я только что уточнил, чтобы посмотреть, сработает ли это (что оно делает), но мне было интересно, если я что-то упустил с cts-as-taggable .Я имею в виду, что нигде не могу найти такой метод?
<% ActsAsTaggableOn::Tagging.find_all_by_context("tags").each do |tagging| %>
<%= tagging.tag %>
<% end %>
Если, например, действует как тег не делает этого, это лучший способ сделатьэтот?Это выглядит немного неэффективно, лучше бы я делал собственный SQL-запрос вместо маршрутизации через actions-as-taggable ?
Если это вообще поможет, вот хвост моего журнала:
Started GET "/users" for 127.0.0.1 at 2011-01-04 14:46:20 +0000
Processing by UsersController#index as HTML
SQL (0.5ms) SELECT name
FROM sqlite_master
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
User Load (0.1ms) SELECT "users".* FROM "users"
ActsAsTaggableOn::Tagging Load (0.5ms) SELECT "taggings".* FROM "taggings" WHERE ("taggings"."context" = 'languages')
ActsAsTaggableOn::Tag Load (0.1ms) SELECT "tags".* FROM "tags" WHERE ("tags"."id" = 2) LIMIT 1
Rendered users/index.html.erb within layouts/application (10.4ms)