如何检查在Rails中使用哪个控制器呈现部分?

时间:2015-08-18 14:41:14

标签: ruby-on-rails

我的页脚有一个简单的部分,如下所示:

<footer class="footer">
  <nav>
    <ul>
      <li><%= link_to "Download History", report_histories_path(format: "csv") %>
      <li><%= link_to "Help", help_path %></li>
      <li><%= link_to "About", about_path %></li>
    </ul>
  </nav>
</footer>

第一个链接允许用户下载用于以CSV格式为报告提供电力的一些数据,但我只希望在reports_controller用于呈现部分内容时链接显示。

我尝试过使用

<% if params[:reports] %>
  <li><%= link_to "Download History", report_histories_path(format: "csv") %>
<% end %>

以及

<% if current_page?(url_for(:controller => 'reports')) %>
  <li><%= link_to "Download History", report_histories_path(format: "csv") %>
<% end %>

但都没有显示链接。

2 个答案:

答案 0 :(得分:2)

您可以使用params[:controller]。此外,params[:action]将包含当前操作。

答案 1 :(得分:1)

您还可以使用controller_nameaction_name。或者具体来说,回答您的问题<% if controller_name == 'reports' %>