如何从对象中删除属性(Rails& Ajax)

时间:2014-10-10 17:53:20

标签: ruby-on-rails

我通过ajax发送一个对象,使用以下哈希:

container = { "client" => client, "status" => "success"}
render :json => container.to_json

client是一个带有令牌和密码的对象。

我无法更改javascript,它要求此形状的响应:

$.ajax({
  {...}
  },
  success: function(data) {
    if (data.status == "success") { ... < do things with data.client >

我试图使用:

container = { "client" => client.to_json(:only => [ :id, :first_name, :last_name, :address, :phone]), "status" => "success"}
render :json => container.to_json

但是第二个.to_json将第一个作为字符串处理并将其包装在引号之间。

有人有想法帮助我吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用slice

container = { "client" => client.slice :id, :first_name, :last_name, :address, :phone }

http://api.rubyonrails.org/classes/Hash.html#method-i-slice