关系:表有很多用户。
我正在使用"包括"使用关联用户打印表详细信息:
Table.includes(:users)
但是如果我为用户使用条件,比如,users.active为:
Table.includes(:users).where( :users => { active: true } )
我正在使用活跃用户的表格。这很好用。但是如果表没有活动用户,则返回空。 我需要的是,即使没有活动用户也打印表格详细信息(在这种情况下,不包括用户部分)。即,如果有活跃的用户,则必须沿着桌子打印,否则只需要打印表格。 所以我在模型中写了一个过滤方法:
has_many :active_users, class_name: "User", :conditions => { active: 'yes'}
并且,在控制器中:Table.includes(:active_users)
。
现在,对于json回复:
render :json => { :table => @table.as_json(:include => :active_users) }
所以密钥来自" active_users"。
但我喜欢将这个密钥作为"用户"而且我找不到解决方案了。任何人都可以建议一个溶胶。
TIA!
答案 0 :(得分:0)
覆盖Animal
以包含用户
Table#as_json
我建议将用户属性列入白名单,以确保您不会泄露任何敏感信息。