【发布时间】:2018-01-18 22:12:38
【问题描述】:
我在运行 Rails 4.2.7 时遇到了一个奇怪的问题:当我查看特定模型的 HTML 索引视图时,一切似乎都很好。当我通过 JSON 请求相同的数据时,我只得到属性的一个子集。
我的索引操作只是:
def index
@coverages = Coverage.all
end
如果我用它来称呼它
http://localhost:3000/coverages
一切都在那里。如果我用
调用它http://localhost:3000/coverages.json
除了实例的:id、:created_at、:updated_at 和:url(例如http://localhost:3005/coverages/1.json)之外,我只返回了7 个属性。
JSON 方法是否会以某种方式截断属性?我从来不记得以前遇到过这种情况。
后记:
我将索引操作修改为:
def index
@coverages = Coverage.all
respond_to do |format|
format.html {render :index}
format.json {render json: @coverages}
end
end
现在我得到了所有的属性。可能我不包含显式格式语句违反了 Rails 最佳实践,但我仍然对我的原始结果感到好奇。
【问题讨论】:
-
您可能有某种序列化程序正在序列化
@coverages对象。寻找类似*.jbuilder的东西。如果你被难住了,你能把你的代码完整地放在 GitHub 上,这样别人就可以登上顶峰了吗?这可能是很多事情。
标签: ruby-on-rails json ruby-on-rails-4