Rails选择查询,为属性名称创建别名

时间:2019-04-19 21:38:01

标签: ruby-on-rails json

以创建JSON字符串为目标,要求是使用现有属性,并在JSON输出中为其分配属性名称id

@valids = Destination.limit(10).select(:name, :long_name, :other_code).as_json(except: :id)  
调用

except: :id以避免混淆,因为other_code属性旨在作为生成的JSON中的ID。

然后将通过以下方式将其转换为有效的JSON

@valids.to_json 

如何将other_code输出为id

2 个答案:

答案 0 :(得分:0)

您可以使用简单的字符串而不是符号来做到这一点。

Destination
  .limit(10)
  .select('name, long_name, other_code as id')
  .as_json

答案 1 :(得分:-1)

老实说,Ruby是Rails的新手,但是对json和前端应用程序响应很有经验

您可以尝试一下。如果可行,您现在可以在数据库响应中进行尝试。确保您的数据库中存在列ID

def your_definition_here

    respond_to do |format|

        @valids='999'
        format.json do
          render json: {id: @valids}.to_json
          #render json: {id: @valids.id}.to_json
        end
    end
end