我正在尝试构建一个方法,以便在当前页面上的导航菜单中添加特定的css类。
这是我的开始:(在application_helper中)
def menu_links(param)
if request.fullpath == "#{param}_path"
return "#{param}_path"
end
end
在我的应用视图中:
<%= menu_links("help") %>
但是,如果我通过request.fullpath == help_path更改request.fullpath ==“#{param} _path”,则可以正常工作。不知道为什么。
感谢您的帮助!
答案 0 :(得分:1)
因为在第二种情况下(request.fullpath == help_path
),您使用help_path
方法,该方法会扩展为某个网址(例如http://example.com/help
)。在第一种情况下,您只需使用"help_path"
字符串,这对Rails没有任何特殊意义。您可能需要使用eval
:
def menu_links(param)
if request.fullpath == eval("#{param}_path")
return eval("#{param}_path")
end
end
虽然这不是最好的解决方案......