У меня проблема с пониманием обратного вызова after_save rails. Вот фрагмент из моей модели:
after_save :log_creation
private
def log_creation
logger.info "RECEIVED => #{ self.name } - #{ self.value } - #{ self.id }"
path_to_url = url_for({ :host => "localhost:8080", :action=>"show", :controller=>"testing", :format =>"pdf", :id => self })
logger.info path_to_url
file = open(path_to_url, "r").read
logger.info file
end
В журнале разработки я получаю ожидаемую информацию для первых двух logger.info. Третий я не получаю, потому что я получаю исключение 404 (ActiveRecord :: RecordNotFound).
Итак, что я делаю не так?
Генерация PDF работает нормально (с использованием PDFkit), если я комментирую строку after_save и пытаюсь получить доступ к URL-адресу, все в порядке, но когда я пытаюсь получить доступ к нему после after_save, он не работает, как я ожидал.
Все это для отправки электронного письма (с почтовой программой) с приложенным PDF-файлом. Было бы скачать PDF (через контролируемый), а затем отправить его.