过滤内部渲染json的位置

时间:2016-02-29 16:37:49

标签: ruby-on-rails ruby json

我在控制器中有这个:

def get_tags
  person = Person.where({fuid: params[:fuid]})
  render json: person, :only=>[:fuid], :include => [
    :hashtags => {
      :except => [:created_at, :updated_at],
      :methods => :person_count
    }
  ]
end

我包含主题标签,但我需要仅为那些具有active = 1的主题标签进行过滤。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以在模型中执行此操作:

class Person < ActiveRecord::Base
  has_many :active_hashtags,-> { where active: 1 }, class_name: 'Hashtags' 
end

然后在你的控制器中:

render json: person :only=>[:fuid], :include => [
    :active_hashtags => {
      :except => [:created_at, :updated_at],
      :methods => :person_count
    }
  ]