如何格式化模型以便输出带有id和name字段的json文档?
因为我的模型有自定义字段名称而我使用的是tokeninput,它要求我将其输出到id和name。
任何想法?
答案 0 :(得分:1)
您可能希望将唯一选项传递给to_json
:only => [:id, :name]
例如,如果您想获取User
User.all.to_json :only => [:id, :name]
如果模型不包含OP描述的Id和Name。然后在查询数据库时使用自定义选择。
User.select('filed1 as id, field2 as name').all.to_json
答案 1 :(得分:1)
你有很多选择,你可以使用jbuilder,rabl。但我认为最简单的方法是使用Active Model Serializers。
我们假设您有型号名称用户。
首先安装捆绑包,然后:
rails g serializer user
然后在app / serializers / user_serializer.rb:
class ArticleSerializer < ActiveModel::Serializer
attributes :id, :name
end
答案 2 :(得分:0)
也许在您的控制器中
require 'json'
# ...
def show_json
user_obj_to_json = User.first.to_json
render user_obj_to_json
end