1

У меня есть статический набор справочных страниц, которые я обслуживаю в приложении Rails 3.2 с использованием высоковольтного драгоценного камня Humbots. Я просто использую это в стиле «ваниль», не обслуживая html-страницы через контроллер.какой gem/метод использовать для создания PDF-файлов из статических размещенных страниц с использованием высокоразрешающего устройства mousebot

фон

я первоначально пытался сделать это самому адаптировать учебник Майкла Hartl вокруг статических страниц - то есть у меня есть набор статических страниц с их собственным контроллером, и я пытался создать подкаталог под представлением статических страниц, но не смог заставить мою маршрутизацию работать, поэтому поиски Google выявили драгоценный камень Humbots High-Voltage.

аспирация

То, что я хотел бы это рекомендация какого драгоценного камня или метод лучше всего подходит для сгенерированных PDF файлов с помощью Thoughtbots жемчужины высокого напряжения.

Кто-нибудь это сделал?

Я хочу, чтобы иметь возможность разместить это на героку, поэтому, если есть какие-либо gotacha's, я хотел бы знать об этом заранее.

Текущая реализация - это базовое приложение Rails 3.2 с установленным высоковольтным камнем и несколькими видами под подкаталогом страниц.

  • страницы/помощь/пользователей
  • страницы/помощь/продукты
  • страниц/помощь/заказы

У меня есть изображения в пределах моих страниц HTML, не уверен, если это вызывает осложнения.

EDIT: Добавлен контроллер на основе ответа при условии, как по-прежнему возникают проблемы с wicked_pdf на Rails 3.2.3, рубин 1.9.3-P125 на Lion

class PagesController < HighVoltage::PagesController 
def show 
    respond_to do |format| 
    format.html do 
     super 
    end 
    format.pdf do 
     #render :pdf => "pdf_file" # wicked_pdf syntax here 
     render :pdf => :id, 
      :layout => 'application', 
      #:template => 'help/products/product_tolerance.html.erb', 
      :template => 'pages/#{:id}.html.erb', 
      :show_as_html => params[:debug], 
      :footer => { 
       :left => "Generated on @now", 
       :centre => "Centre", 
       :right => "Page # of page(s)" 
      }   
     end 
    end 
    end 
end 

Маршруты Файл содержит:

match "/pages/*id" => 'pages#show', :as => :page, :via => :get, :format => false

Должен ли формат быть правдивым? В контроллере и в high_voltage?

+0

как это сделать? – user1149642

+0

Спасибо, только что поняли, глядя на другой вопрос. Извиняюсь, если я казался грубым или невежественным. Это потрясающий форум, и я отчаянно нуждаюсь в помощи порой после того, как погуглил иногда, что походит на часах, чтобы что-то решить – user1149642

ответ

0

Override на страницах высокого напряжения контроллера, как описано здесь: https://github.com/thoughtbot/high_voltage#override

Затем установите либо pdfkit или wicked_pdf (HTML для конвертеров PDF) и подключить их в этот контроллер для создания версий PDF:

class PagesController < HighVoltage::PagesController 
    def show 
    respond_to do |format| 
     format.html do 
     super 
     end 
     format.pdf do 
     render :pdf => "pdf_file" # wicked_pdf syntax here 
     end 
    end 
    end 
end 
+0

Спасибо Unixmonkey. В настоящее время невозможно выполнить переопределение. Имейте «матч»/pages/* id "=> 'pages # show',: as =>: page,: via =>: get,: format => false' в файле маршрутов и получите следующую ошибку: ' Нет такая страница: help/products/index' URL-адрес: http: // localhost: 3009/pages/help/products/index' – user1149642

+0

URL-адрес: http: // localhost: 3009/pages/help/products/index ' Работа над этим в течение 2 дней. Вернувшись к ручному созданию страниц без драгоценного камня, он столкнулся с проблемами с wicked_pdf (не создавая изображения). Рельсы 3.2.3, рубин 1.9.3. Строка wkhtmltopdf @cmd отображает всю страницу. Можно просто вызвать этот cmd из приложения rails через скрипт, но мои знания сейчас ограничены. – user1149642

+0

О, что делает 'супер'? Теперь он отображает файлы html.erb, которых раньше не было. Супер не находится в примере на сайте ifbot. Это была ошибка? Теперь я получаю ошибку маршрутизации, когда пытаюсь запустить pdf со следующей ссылкой: '

  • <% = link_to" Допуски на продукт ", page_path (" help/products/product_tolerances ")%><% = link_to" Создать/Download as PDF ", page_path (" help/products/product_tolerances ",: format =>: pdf)%>
  • ' Когда я заглянул в wicked_pdf и high_voltage gems в свою папку rvm, я понял, исходя из моего нынешнего понимания того, что high_voltage поддерживает только html – user1149642

     Смежные вопросы

    • Нет связанных вопросов^_^