Ruby on rails 如何将带有数组的json解析为带有集合的presenter?
我通过电子邮件从外部服务JSON收到当前用户的培训信息Ruby on rails 如何将带有数组的json解析为带有集合的presenter?,ruby-on-rails,ruby,json,presenter,Ruby On Rails,Ruby,Json,Presenter,我通过电子邮件从外部服务JSON收到当前用户的培训信息 { “id:”5357c5d17303b5357c5d173078”, “email”:”some@email.com”, ”trainings”:[ { “training_id“: “5357c4e5d61f15357c4e5d622f“, “name”: ”training 1”, “state”: “started”
{
“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 %>
@presenter.training.each {|t| t.state }
演讲者是上帝处理这个问题的方式吗?使用:
阅读以理解这一点,同时也要理解这一点
现在创建对象
@education_presenter = EducationPresenter.new(json_string)
和视图:
Email: <%= @education_presenter.presenter.email %>
<% @education_presenter.presenter.trainings.each do |training| %>
Training: <%= training['training_id'] %>
<% end %>
Email: <%= @education_presenter.presenter.email %>
<% @education_presenter.presenter.trainings.each do |training| %>
Training: <%= training['training_id'] %>
<% end %>