【发布时间】:2014-11-11 04:35:55
【问题描述】:
我的 Rails 应用程序中有一个锚标记..
<a href='app/users/<%= current_user.id %>/personal_settings'> <i class='icon-gear'></i> Personal Settings </a>
事情是这会在我的许多 html 页面中呈现。所以每当我点击这个<a>标签时,URL就像parent_url + app/users/:id/personal_settings
有什么办法可以防止这种情况。每当我点击这个标签时,url 应该只是app/users/:id/personal_settings。不应该出现父标签。
【问题讨论】:
-
你能运行
rake routes并向我们展示这条特定路线的输出吗? -
永远不要使用硬编码的网址。始终使用路由助手。 Mohamed Yakout 提到的答案是正确的。
-
@jbmyid 作为记录,我没有使用硬编码的 URL。如果您不想使用
link_to辅助方法,我的解决方案也是一个非常可行的解决方案。 -
@richsinn 因此,即使您不想使用 link_to 方法,您也可以使用路由助手,例如。
<a href='<%= users_personal_settings_path(current_user) %>'> link</a> -
@jbmyid 您显然没有阅读我的答案。我确实使用了路由助手(也称为命名路由)。事实上,Mohamed Yakout 在我第一次发布命名路线的用法后复制了我的答案。 Mohamed 的原始答案使用了硬编码的 URL,我建议使用命名路由(您仍然可以使用硬编码的 URL 看到他的原始答案)。甚至名为 route
users_personal_settings_path的示例也是我自己编造的示例,Mohamed 在他的回答中复制了该示例! Mohamed 添加的唯一额外内容是使用了link_to助手。
标签: jquery html ruby-on-rails ruby