2015-07-13 68 views
0

所以我有一个程序,用户可以创建事件,并且会有多个事件。因此,事件索引页面在浏览器中看起来像“/ events”,并且它的子目录显示页面看起来像“/ events/1/events/2 ... etc”。Ruby on Rails:如何使用current_page助手获取页面的子目录

在我的布局页面中,我正在检查当前页面以决定页面的背景颜色。这对事件索引页面很容易;我只是检查它是否是通过命令页:

if current_page?(events_path) ... 

但我想检查当前页面的索引的特定“显示”页面(标准支架生成的页面)。我会怎么做?这是我的尝试,我感到困惑如何路由会在这种情况下工作:

if current_page?(events_id_path) ... 
+0

你应该尝试'ACTION_NAME == “秀”'。你可以用'controller_name =='YOURCONTROLLERNAME“' –

回答

1

那么简单,试试下面的代码

if current_page?(event_path(@event)) 

假设你已经在@event控制器定义。

if current_page?(controller: 'events', action: 'show', :id => id) 

欲了解更多信息,请参阅本API Doc

+0

添加另一个条件,所以我不确定这是否可行,因为我正在检查布局目录的layout.html.erb文件本身的当前页面,而我只在事件控制器中声明@event。但我会尝试,谢谢。 – ifma

+0

工作没有身份证,非常感谢,我正在尝试类似的东西,除了我有作为方法的行动,我的错误 – ifma

相关问题