我正在尝试使用 rabl 从 rake 任务创建一个 json 文件。下面我有简化版本进行测试。
当我通过 url 查看“articles.json”或“articles/2.json”时,我得到了预期的 json 响应。
但是当我尝试通过 rake 任务运行它时,在创建的 jsonFile 中,@articles 总是有一个空值。它将以与@articles.count 相同的次数呈现 index.json.rabl 视图,但值始终为空。
那么如何将在我的 rake 任务中创建的 @articles 对象传递给 Rabl.render?
index.json.rabl
@feedName ||= 'default'
node(:rss) { partial('articles/rss), :object => @feedName }
node(:headlines) { partial('articles/show'), :object => @articles }
显示.json.rabl
object @article
attributes :id,:body
....
出口.rake
task :breakingnews => :config do
filename = 'breakingnews.json'
jsonFile = File.new(filename)
@articles = Article.limit(10)
n = Rabl::renderer.json(@articles,'articles/index',view_paths => 'app/views')
jsonFile.puts b
jsonFile.close