对这样一个简单的问题道歉,但由于我的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
Run Code Online (Sandbox Code Playgroud)
情况已经改变,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
Run Code Online (Sandbox Code Playgroud)
如果这也不起作用,你可以试试
url_for(:only_path => false);
| 归档时间: |
|
| 查看次数: |
10571 次 |
| 最近记录: |