Heroku のアプリにファイルをロードすると、すべてが機能しますが、アプリケーションを再ロードしようとすると、次のエラーが表示されます。
2013-01-25T08:48:31+00:00 app[web.1]: app/controllers/main_controller.rb:20:in `index'
2013-01-25T08:48:31+00:00 app[web.1]:
2013-01-25T08:48:31+00:00 app[web.1]:
2013-01-25T08:48:31+00:00 app[web.1]: Errno::ENOENT (No such file or directory - /app/config/cases/casesID6.yml):
2013-01-25T08:48:31+00:00 app[web.1]: app/controllers/main_controller.rb:20:in `read'
ローカルで正常に動作します!
メインコントローラー:
# importo yaml di configurazione
require 'yaml'
if Survey.exists?(1)
@idOfSurvey = Survey.find {|s| s['active_state'] == true}['id']
nameOfSurvey = "casesID"+String(@idOfSurvey)+".yml"
@survey = YAML::load(ERB.new(IO.read(File.join(Rails.root, 'config/cases', nameOfSurvey))).result)
else
render :action => 'noYaml' and return
end
アップロード コントローラ:
#inserisco il nuovo questionario
survey = Survey.new
if Survey.exists?(1)
n = String(Integer(Survey.maximum("Id"))+1)
survey.name = "casesID#{n}"
else
survey.name = "casesID1"
end
File.open(Rails.root.join('config/cases', survey.name+".yml"), 'wb+') do |file|
file.write(uploaded_io.read)
end
survey.save()
Heroku にアップロードされたファイルは、たとえばメモリの問題や、ファイルを一時的に保存するためにプラットフォームによってクリアされる可能性があると思いますが、これは可能ですか? ソリューション!
繰り返しますが、すべてがローカルで正常に動作します:(