dB'*_*dB' 8 json ruby-on-rails
我的服务器上有一个文件在我的app目录之外.它是一个包含json对象的文本文件/path/to/data.json.
在Rails中提供此文件的最简单方法是什么,例如,为了响应GET请求而返回它?
这是我迄今为止尝试过的,受到这个答案和其他人的启发.(这可能是偏离基础的 - 我是铁杆新手.)
将此行添加到routes.rb
resources :data
写了下面的data_controller.rb
class DataController < ApplicationController
@data = File.read("/path/to/data.json")
def index
render :json => @data
end
end
Run Code Online (Sandbox Code Playgroud)
这不起作用.当我将浏览器定向到http://myserver.com/data.json时, 我只看到"null"而不是data.json文件.
知道我做错了什么吗?
Tim*_*ers 14
我认为这是一个范围问题; 你的外部@data与方法中的@data不同.也就是说,您不能在方法之外使用实例变量,因为还没有实例.
如果你使用类变量,它应该工作,例如
@@data = File.read("/path/to/data.json")
Run Code Online (Sandbox Code Playgroud)
然后
render :json => @@data
Run Code Online (Sandbox Code Playgroud)
小智 5
data.json文件放入您的项目目录(例如public/data.json)@data = File.read("#{Rails.root}/public/data.json"):json => @data| 归档时间: |
|
| 查看次数: |
18191 次 |
| 最近记录: |