Я использую actions_as_taggable_on, чтобы отмечать сообщения и профили пользователей. Записи тегов сохраняются правильно с taggable_type сообщением или профилем, а также тегами контекста и интересами. Acts_as_taggable_on отправляет <%= render post.tags %>
и ‹% = render profile.interest%> в views / plays_as_taggable_on / tags / _tag.html.erb, где в файле readme предлагается ссылка_на лайк <%= link_to tag.name, tag_path(tag.name) %>
.
Что я хотел бы сделать, так это изменить путь в зависимости от taggable_type или контекста - что-то вроде if tag.tagging.context == 'interest' link_to tag.name, profile_tag_path(tag.name)
и т. Д. Для тегов сообщений и тегов профиля.
В соответствующих представлениях / контроллерах я могу правильно получить записи, отфильтрованные по context, у меня просто не получается изменить путь ссылки условно. tag.tagging.context
выдает ошибку отсутствия метода, tag.taggings.each do |tag| tag.context
возвращает все контексты для данного тега каждый раз, когда он использовался, т. Е. 4 отпечатка «интереса» и 10 отпечатков «тегов», если он использовался несколько раз как в профилях, так и в сообщениях. Я бы хотел только контекст для текущего экземпляра.
Я также был бы рад услышать, есть ли другой способ сделать это (например, ссылка на users / tagged / tag, чтобы возвращать только профили с тегом 'tag' и / tagged / tag, чтобы возвращать только сообщения с тегом 'tag' и т. Д. ), просто казалось, что все должно быть довольно просто.