Ruby Rails 3.2视图中基于节或控制器的类高亮显示
我已经看了一部哈姆勒电影,现在有了奇怪的行为。当我访问两个不同的控制器操作时,一个实例工作,而另一个失败。代码如下:Ruby Rails 3.2视图中基于节或控制器的类高亮显示,ruby,haml,ruby-on-rails-3.2,Ruby,Haml,Ruby On Rails 3.2,我已经看了一部哈姆勒电影,现在有了奇怪的行为。当我访问两个不同的控制器操作时,一个实例工作,而另一个失败。代码如下: = link_to_unless_current(t('some.string', :en=>'SomeString'), '/url',{:class=>(controller.controller_name == 'randomController' ? 'current' : 'header-link')}) 当我在任一视图中输出=controller.con
= link_to_unless_current(t('some.string', :en=>'SomeString'), '/url',{:class=>(controller.controller_name == 'randomController' ? 'current' : 'header-link')})
当我在任一视图中输出=controller.controller\u name
时,我会在主列表页(其中所有对象都显示为分页)上获得“randomController”。该类不会应用,但当移动到“show”页时,该类突然出现。由于控制器在两种情况下都是相同的(两种情况下都打印相同的字符串),为什么类的应用不一样
通常,是否有更好的方法基于当前控制器设置链接样式,而不是检查控制器名称?
current_页面
helper需要控制器和操作,这意味着它在这里不是合适的候选者 我将把这个标记为答案,以防其他人在同一个问题上绊倒。希望此格式正确:
= link_to_unless_current(t('some.string', :en=>'SomeString'), '/url',{:class=>(controller.controller_name == 'randomController' ? 'current' : 'header-link')}) do
%span.current
= (t('some.string', :en=>'SomeString'
这显然可以被清除以删除重复的元素,并可能最终成为一个应用程序装饰程序,以便我可以在站点上的任何视图中使用它。刚才看到,您可以传递一个块来链接到,除非在当前页面上执行当前的。只是包括了一个跨度与我想要的类,它的工作!