在使用carrierwave上传的rails3上的fancybox中显示pdf?

时间:2011-12-16 06:13:50

标签: ruby-on-rails-3 pdf fancybox carrierwave

我试图让fancybox在iframe中显示pdf,现在它只是将pdf下载到用户计算机,我想让它在modal / fancybox中的浏览器中可见。

目前的观点是:

  <% for issue in @issues %>
    <tr>
      <td><%= issue.date %></td>
      <td><%= link_to "view pdf", issue.pdf_url, :class => "fancybox" %>
      <td><%= link_to "Show", issue %></td>
      <td><%= link_to "Edit", edit_issue_path(issue) %></td>
      <td><%= link_to "Destroy", issue, :confirm => 'Are you sure?', :method => :delete %></td>
    </tr>
  <% end %>

我认为有一种方法可以使用找到here的谷歌文档查看器,但我不完全确定如何创建链接?我将如何在本地测试,因为如果我从本地主机运行,观众显然无法看到pdf。

哪些解决方案可用于导轨?我想在本地托管pdfs。

还有一种方法可以使用rmagick生成第一页的png或jpg用作预览吗?

更新

我继续尝试使用它作为我的链接,但是它会出错。

<%= link_to "view pdf", 'http://docs.google.com/gview?url=#<%= issue.pdf_url %>', :class => "fancybox" %>

错误是

/app/views/issues/index.html.erb:10: syntax error, unexpected $undefined, expecting ')'
...);@output_buffer.safe_concat('\', :class => "fancybox" %>
...                               ^

1 个答案:

答案 0 :(得分:0)

你不能在erb中使用erb代码。 使用如下:

<%= link_to "view pdf", 'http://docs.google.com/gview?url=#{u(issue.pdf_url)}', :class => "fancybox" %>

url encode issue.pdf_url