在Rails 5中映射REST响应

时间:2018-04-02 15:19:17

标签: ruby-on-rails-5 mailchimp-api-v3.0

我通过MailChimp的API收到了以下@list

{"members"=>[{"email_address"=>"a@gmail.com"}, {"email_address"=>"b@gmail.com"}]} 

我正在尝试映射它,以便我的@list采用以下格式:

a@gmail.com, b@gmail.com, ...

但是我的尝试在控制器中使用以下代码是不成功的:

respond_to do |format|
    format.json  {render json: @list{|email| {:email_address => email.email_address} }}
    format.html
end

1 个答案:

答案 0 :(得分:1)

list = {"members"=>[{"email_address"=>"a@gmail.com"}, {"email_address"=>"b@gmail.com"}]}
list['members'].map{|m| m['email_address']}
# => ["a@gmail.com", "b@gmail.com"]

所以render json: @list['members'].map{|m| m['email_address']}会得到你想要的东西