我从外部服务JSON收到我的 current_user(通过电子邮件)的培训信息。
{
“id:”5357c5d17303b5357c5d173078”,
“email”:”some@email.com”,
”trainings”:[
{
“training_id“: “5357c4e5d61f15357c4e5d622f“,
“name”: ”training 1”,
“state”: “started”
},
{
“training_id“: “5357af490fcda5357af490fd15“,
“name”: ”training 2”,
“state”: “finished”
}
]
}
我想解析这个 JSON 并将其呈现在我的页面上。所以我想到了主持人。
class EducationPresenter
attr_reader :email, :trainings
def initialize json
@email = json['email']
@trainings = json['trainings']
end
end
和
所以现在我可以在我的视图中使用它:
Email: <%= @presenter.email %>
<% @presenter.trainings.each do |training| %>
Training: <%= training['training_id'] %>
<% end %>
我如何也可以解析 JSON 并将其转换为某个 Object 以便能够像这样使用它:
@presenter.training.each {|t| t.state }
主持人上帝有办法处理吗?