对这样一个简单的问题道歉,但由于我的RoR知识基本上不存在,我无法在数小时后自己解决.在我正在使用的Rails应用程序中,已使用导航助手突出显示活动菜单:
def nav_link(link_text, link_path, ico_path) class_name = current_page?(link_path) ? 'active' : nil content_tag :li do link_to(link_path, class: class_name) do image_tag("icons/#{ico_path}.svg") + content_tag(:span, link_text) end end end
情况已经改变,current_page?
不再是一个可行的选择,因为路由现在在前端处理.有没有办法通过检索,例如,当前的URL并检查它来实现相同的功能link_path
?我尝试了很多与不同助手的事情request.original_url
,但无济于事.
request.original_url
应该按照文档工作.
以字符串形式返回原始请求URL
http://apidock.com/rails/ActionDispatch/Request/original_url
您还可以尝试使用不同变量进行字符串连接.
request.host + request.full_path
如果这也不起作用,你可以试试
url_for(:only_path => false)
;