Ruby on rails 呈现自定义json多态列表
我有一个/tags.json,我想在其中呈现一个球员和球队的列表,我在球员和球队模型中都使用了下面的内容Ruby on rails 呈现自定义json多态列表,ruby-on-rails,json,Ruby On Rails,Json,我有一个/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}
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"}
]
但是我怎样才能得到代币呢?试试这样的方法:
@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