为什么这个小代码片段(用于具有 css 类的导航助手)给我一个undefined method 'include?' for nil:NilClass
在线elseif
?
page_classes_string
可能类似于“oddchap oddchap_zoidberg oddchap_zoidberg_index” 。我认为这种方法的目的很明确:
- 去掉
page_classes_string
if 它包含 '_index'中的最后一个单词 - 将
page_classes_string
与当前进行比较,page_string
并返回一个带有适当类名的字符串以进行某些导航。
我在 irb 中尝试了这段代码,当然它可以工作,但不在我的中间人配置中。我也可以通过使用分配给我的“page_classes_string”的第三个变量来重写它,但这似乎有点麻烦。有什么建议么?
当然,_string
附加到以下变量名称仅用于说明目的。
def nav_active(page_string)
if page_classes_string.match(/_index/)
page_classes_string = page_classes_string.split(/ /)[0..-2].join(' ')
end
if page_classes_string == page_string
'active'
elsif page_classes_string.include? page_string
'semiactive'
else
nil
end
end