简体   繁体   中英

rake task that writes to file on local filesystem and not heroku

I would like a rake task that gets some information and then writes to the local filesytem

I thought I had this working but not sure how.

namespace :arc do
  task :vday => :environment do
    locations=Location.with_current_mec "something"
    jt={}
    jt[:locations]={}
    locations.each do |location|
      jt[:locations][location.id]=location.to_small_hash
    end
    # want this to write to local filesytem
    File.write('/Users/jt/output.json', JSON.pretty_generate(jt))
  end
end

and then call like

heroku run rake arc:vday

But this is not working and gives me an error on writing the file. Is there a workaround to make it write to my local filesystem and not heroku?

Can you try this

File.open('/Users/jt/output.json', 'w') {|file| file.write(JSON.pretty_generate(jt))}

instead of

File.write('/Users/jt/output.json', JSON.pretty_generate(jt))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM