我有一个/tags.json,我想要渲染一个球员和球队的名单,使用以下我已经放入球员和球队模型。
def token
"#{id}_#{self.class.name}"
end
标签控制器
def index
@players = Player.all
@teams = Team.all
@tags = @teams + @players
respond_to do |format|
format.json { render json: @tags}
end
end
但是如何在我的标签控制器中创建一个列表,所以我可以得到类似的东西
[
{"name":"Bob","token":"1_Player"},
{"name":"Yankees","token":"1_Team"}
]
我该怎么做?
修改
format.json { render json: @tags.as_json(only: [:name])}
渲染
[
{"name":"Bob"},
{"name":"Yankees"}
]
但我怎么能得到令牌?
答案 0 :(得分:2)
尝试这样的事情:
@tags = []
Team.all.each do |team|
@tags.push({name: team.name, tag: team.token})
end
Player.all.each do |player|
@tags.push({name: player.name, tag: player.token})
end
respond_to do |format|
format.json { render json: @tags}
end