2014-01-15 2 views
9

У меня есть модель вопроса, подобная stackoverflow.Я хочу, чтобы пользователь мог следить за темой (тегом), созданной с помощью actions_as_taggable_on в Rails 4

Пользователь может добавить вопрос. В вопросительной форме есть: Название:: темы,: место, описание:

В каждой теме есть своя страница показа, на которой есть тема вопросов, содержащих тему.

Я хочу добавить функцию так, чтобы, когда пользователь находится на странице показа этой темы, есть кнопка follow, и пользователь сможет следить за темой.

Я не уверен, что у act_as_taggable есть встроенная функция для этого? Я использую act_as_follower, чтобы пользователи могли следить друг за другом, и все это работает нормально!

Я собирался попробовать использовать acts_as_follower по теме, но я понятия не имею, как так нет «темы» модель, как она создана с помощью acts_as_taggable_on

topic_controller.rb для показа страницы

class TopicController < ApplicationController 
    def index 
    @questions = Question.tagged_with(params[:topic]) 

     respond_to do |format| 
     format.html # index.html.erb 
     format.json { render json: @questions } 
     end 
    end 
end 

Любые идеи и код помогут alot,

Спасибо!

ответ

1

Вы можете создать модель темы, которая наследуется от ActsAsTaggableOn :: Tag, и добавить act_as_followable к этой модели.

# app/models/topic.rb 
class Topic < ActsAsTaggableOn::Tag 
    acts_as_followable 
end 

Затем вы можете использовать тему в качестве тега:

# app/models/post.rb 
class Post < ActiveRecord::Base 
    acts_as_taggable_on :topics 
end