Ho un controller come questo:WickedPDF manca il layout
def show
@professor = Professor.find(params[:id])
respond_to do |format|
format.html
format.pdf do
render :pdf => "file_name"
end
end
end
e una vista semplice come questo:
<p>Professor: <%= @professor.first_name %></p>
<p>Email: <%= @professor.email if @professor.email %></p>
Ho anche un layout di 'application.html.erb';
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><%= content_for?(:title) ? yield(:title) : "Myapp" %></title>
<meta name="description" content="">
<meta name="author" content="">
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
<%= yield(:head) %>
</head>
<body>
<header class="navbar navbar-fixed-top">
<nav class="navbar-inner">
<div class="container">
<%= render 'layouts/navigation' %>
</div>
</nav>
</header>
<div id="main" role="main">
<div class="container">
<div class="content">
<div class="row">
<div class="span12">
<%= render 'layouts/messages' %>
<%= yield %>
</div>
</div>
<footer>
</footer>
</div>
</div> <!--! end of .container -->
</div>
Quando faccio il seguente comando:
bundle exec wkhtmltopdf 'http://local.myapp.com:3000/professors/2' - > test.pdf
ottengo un pdf con tutti gli stili e il layout correttamente.
Tuttavia, quando vado a http://local.myapp.com:3000/professors/2.pdf
ottengo un errore che dice:
Missing template professors/show with {:locale=>[:en], :formats=>[:pdf], :handlers=>[:erb, :builder, :coffee]}
Così, poi ho cambiato il mio controller # show di azione per essere come questo:
def show
@professor = Professor.find(params[:id])
respond_to do |format|
format.html
format.pdf do
render :pdf => "file_name",
:template => 'professors/show.html.erb'
end
end
end
che mi aiuta a rendere la vista, ma sfortunatamente non rende gli stili e il layout. Le mie domande sono:
- Perché devo specificare il modello?
- Perché il layout non viene visualizzato nel PDF?
http://stackoverflow.com/questions/23077118/image-header-on-pdf-using-wicked-pdf -e-wkhtmltopdfupdated plz aiuto con questa query –