1

我有一个可以被多个控制器访问的视图。在大多数情况下,它们显示相同的信息,但此信息从一个控制器到下一个控制器略有调整。我需要一种方法来区分在任何给定时刻正在使用哪个控制器。我通过在控制器中声明一个“@context”变量来做到这一点,例如:

@context = "index"

或者

@context = "show"

然后我可以轻松地在视图中检查正在使用哪个控制器。例如:

<% if @context == "index" %>
  <h1>Index</h2>
<% elsif @context == "show %>
  <h2>Show</h2>
<% end %>

然而,这感觉很hacky,我敢肯定有一个更清洁的解决方案。有人知道吗?

4

1 回答 1

2

您可以使用 controller_name 和 action_name 助手,例如

<%= controller_name %>
<%= action_name %>
于 2012-10-10T16:22:01.943 回答