render :pdf => "file_name",
:layout => 'pdf.html.erb',
:template => 'transactions/show.pdf.erb',
:wkhtmltopdf => WICKED_PDF_BIN,
:show_as_html => true,
:layout => 'pdf.html.erb',
:header => {:html => { :template => 'shared/header.pdf.erb'}}
PDF генерится нормально, к сожалению шапки не вижу. Я могу вставить заголовок в основной макет, и он тоже отлично работает. Мне кажется, что строка заголовка выше не обрабатывается. Имя файла «header.pdf.erb» не имеет значения. Я могу указать на файл, который не существует, и он не выдает ошибки.
Это Mac OS, Rails 3.2.1, ruby 1.9
-121 ---1510406 -Я просматривал проект с открытым исходным кодом, где они создавали поток вывода, и наткнулся на следующий метод:
@Override public void write(byte[] buffer, int offset, int length) {
if (buffer == null) {
throw new NullPointerException("buffer is null");
}
if (buffer.length < 0) { // NOTE HERE
throw new IllegalArgumentException("buffer length < 0");
}
if (offset < 0) {
throw new IndexOutOfBoundsException(String.format("offset %d < 0", offset));
}
if (length < 0) {
throw new IndexOutOfBoundsException(String.format("length %d < 0", length));
}
if (offset > buffer.length || length > buffer.length - offset) {
throw new IndexOutOfBoundsException(String.format("offset %d + length %d > buffer" " length %d", offset, length, buffer.length));
}
}
Так что byte[] buffer
— это просто обычный старый byte[]
. Мы знаем, что это не ноль. Можно ли вообще сделать его длиной меньше 0? Например, можно ли это сделать с помощью отражения и против чего они защищаются?