Какой тип хеша / данных выводит act_as_taggable_on, и как я могу извлечь список идентификаторов тегов? - PullRequest
0 голосов
/ 17 июля 2011

Я использую act_as_taggable_on в приложении, и я хотел бы извлечь идентификаторы тегов (а не имена тегов), которым было отмечено сообщение.

Мое приложение имеет контроллер сообщений, и в консоли ruby ​​я могу сделать:

 >> post = Post.find(1)
   => #<Post id: 1, content: "Aliquam cupiditate ea deserunt et id placeat molest...", user_id: 1, created_at: "2011-07-06 19:29:44", updated_at: "2011-07-06 19:29:44">
 >> tags = post.tag_counts_on("topics")
   => [#<ActsAsTaggableOn::Tag id: 1, name: "Politics">, #<ActsAsTaggableOn::Tag id: 2, name: "Economics">] 

Здесь я показал, что запись помечена с идентификаторами темы "Политика" и "Экономика". Моя проблема в том, что я хочу сохранить эту информацию в файле cookie для дальнейшего использования. Но я не могу сохранить хеш в куки, я могу хранить только строки информации. Если я сделаю:

 session[:store_name] = tags.join(",")

А потом позже:

 tags = session[:store_name].split(",")

Я получу хэш:

 ["Politics", "Economics", ...]

Но у этого хэша нет записи tag_id для каждого тега темы. Есть ли способ вытащить идентификаторы в какой-то момент и сохранить их для дальнейшего использования с выходом act_as_taggable_on? Или несколько советов о том, как сохранить выходные данные от activ_as_taggable_on для дальнейшего использования?

1 Ответ

2 голосов
/ 20 июля 2011

Если вам нужны идентификаторы, просто наберите

tags.map(&:id).join(",")
...