我遇到了一个运行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
之外,我只返回了7个返回的属性(例如{{1} })。
JSON方法是否以某种方式截断属性?我从来没有记得以前碰到这个。
后记:
我将索引操作修改为:
http://localhost:3005/coverages/1.json
现在我获得了所有属性。可能是因为我没有包含明确的格式语句而违反了Rails最佳实践,但我仍然对我原来的结果感到好奇。
答案 0 :(得分:0)
我发布了我找到的解决方案(在问题的后记中),以防它有用。关于为什么原始配置不起作用仍然是一个悬而未决的问题。
将索引操作修改为:
def index
@coverages = Coverage.all
respond_to do |format|
format.html {render :index}
format.json {render json: @coverages}
end
end
解决了这个问题。