18

我安装了 wicked PDF 并修改了我的控制器:

def show
  respond_to do |format|
    format.pdf do
      render :pdf => "file_name"
    end
    format.html
  end
end

这是我链接到pdf的方式:compte_contrat_path(c,:format=>'pdf')

它适用于 html(没有格式),但对于 PDF 失败,并出现以下错误:

模板丢失

缺少模板对比/显示与 {:locale=>[:fr], :formats=>[:pdf], :handlers=>[:erb, :builder, :coffee, :arb]}。在以下位置搜索:*“/home/sylario/ruby/place_de_marche/app/views”*“/usr/local/rvm/gems/ruby-1.9.2-p136/gems/activeadmin-0.5.0/app/views”* "/usr/local/rvm/gems/ruby-1.9.2-p136/gems/kaminari-0.14.1/app/views" * "/usr/local/rvm/gems/ruby-1.9.2-p136/gems /devise-2.2.0/app/views"

我究竟做错了什么?

4

1 回答 1

35

感谢 henry,我现在知道它与 ERB 的格式有关。我找到了一种重用我的 html.erb 文件的方法:

首先我在控制器中执行以下操作

format.pdf do
    render  :pdf => "file.pdf", :template => 'contrats/show.html.erb'
end

然后当我使用部分时,我这样称呼它们:

render :partial => 'fullpath/toview.html.erb', :formats => [:html], :locals => { :mylocal=>@something }
于 2013-07-09T15:48:05.940 回答