隐藏特定布局的一些内容 - Rails

时间:2015-09-03 11:25:22

标签: ruby-on-rails layout rendering

我有两种布局 - application.html.erb application.pdf.erb 它们都呈现相同的部分发票/ show.html.erb

发票/ show.html.erb 有一张表,其中一部分如下所示:

<tr>
  <td><%= in.name%></td>
  <td><%= link_to 'remove', some_path(in), method: :delete%></td>
</tr>

这工作正常,但我想在渲染 application.pdf.erb 布局时删除link_to。所以它看起来像这样:

<tr>
  <td><%= in.name%></td>
  <td></td>
</tr>

我尝试使用content_for / yield来实现,但我无法使用它。

有关如何实现这一目标的任何建议吗?

1 个答案:

答案 0 :(得分:1)

您实际上可以获得部分格式:

<tr>
  <td><%= in.name%></td>
  <% if controller.request.format == "html" %>
    <td><%= link_to 'remove', some_path(in), method: :delete%></td>
  <% end %>
</tr>