Нет такого файла или каталога @ rb_sysopen - public/receipts/416981.pdf

Ниже на строке нет. 2, я получаю эту ошибку:

Errno::ENOENT в OrdersController#print

def generate_receipt(filename = nil, current_user = nil)
    filename ||= "public/receipts/#{id}.pdf"
    Prawn::Document.generate(filename, :page_layout => :portrait, :page_size => 'LETTER', :skip_page_creation => false, :top_margin => 50, :left_margin => 50)do |pdf|

      pdf_receipt_data(pdf, false, 'store_front', current_user)

      pdf.number_pages "<page> of <total>", :at => [0, 0]

    end
end

На моем локальном хосте этот код работает, но при тестировании env я получаю эту ошибку. Я использую rails 4.2.
Пожалуйста, помогите мне.


person Chitra    schedule 09.02.2015    source источник


Ответы (1)


Указав полный путь, я решил свою проблему.

имя файла ||= "#{Rails.root}/public/receipts/#{id}.pdf"

person Chitra    schedule 09.02.2015
comment
спасибо за решение. то же самое произошло со мной на rails 4.2, ruby ​​2.2.0. но я не знаю, почему мы должны указать полный путь. - person allenwlee; 11.04.2015