ruby-on-rails – 如何在rails中提供静态JSON文件?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在rails中提供静态JSON文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的服务器上有一个文件在我的app目录之外.它是一个包含json对象的文本文件/path/to/data.json.

在Rails中提供此文件的最简单方法是什么,例如返回它以响应GET请求?

这是我迄今为止尝试过的,受到this answer和其他人的启发. (这可能是偏离基础的 – 我是铁杆新手.)

>将此行添加到routes.rb
资源:数据
>写了以下data_controller.rb

class DataController< ApplicationController的

@data = File.read("/path/to/data.json")

def index
  render :json => @data
 end
end

这不起作用.当我将浏览器指向http://myserver.com/data.json时,我只看到“null”而不是data.json文件.

知道我做错了什么吗?

解决方法

我认为这是一个范围问题;你的外部@data与方法中的@data不同.也就是说,您不能在方法之外使用实例变量,因为还没有实例.

如果你使用类变量,它应该工作,例如

@@data = File.read("/path/to/data.json")

然后

render :json => @@data

猜你在找的Ruby相关文章