在 URL Rails Routes 中添加 Hash 参数

Posted

技术标签:

【中文标题】在 URL Rails Routes 中添加 Hash 参数【英文标题】:Adding Hash parameter in the URL Rails Routes 【发布时间】:2011-10-26 12:20:43 【问题描述】:

如何在 link_to 中添加哈希参数。我需要生成一个类似这样的 URL..

/p/generate/#sometext

这就是我的代码现在的样子。

link_to "Click",my_path

如何将哈希参数添加到我的路由方法中。

现在给出答案

当我发布问题时,我没有完全通过 url helpers API。 http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to

我现在做到了。 :)。我找到了答案。

link_to "Click", my_path(:anchor => "sometext")

下面的 M.cypher 几乎明白了。 :)

【问题讨论】:

【参考方案1】:

这就是你通常的做法:

link_to 'Click', my_path(anchor: 'sometext')

您的路由与它没有太大关系,因为锚部分(#something)没有传输到服务器,它是一个纯粹的客户端。

【讨论】:

我同意 hash 参数不需要发送到服务器。但是 :anchor 符号应该在 routes 方法中 如果您还想要尾部斜杠,/my_path/#sometext 而不是/my_path#sometext,您还需要添加trailing_slash: true,但大多数人应该可以接受当前的答案。【参考方案2】:

我知道这是一篇旧帖子,但我想我会贡献我最近的发现:

<%= link_to "New Person", polymorphic_path([:new, person], anchor: "profile") %>

详情请参阅API Docs。

【讨论】:

很好的发现。这几乎是在嵌套路由助手 imho 中设置参数的最清晰方法。 这似乎使 /stuff/preson/id#profile 获得 /stuff/preson/id/#profile 怎么样? 谢谢你,它真的帮助了我! 非常感谢。它真的帮了我很多。 :)

以上是关于在 URL Rails Routes 中添加 Hash 参数的主要内容,如果未能解决你的问题,请参考以下文章

如何拯救在rails中找不到404页面?

在 Ruby on Rails 中支持 /similar-to-:product 之类的 URL?

Rails引擎:命名空间多态URL

你必须弄乱 Rails 的“routes.rb”文件吗?

Ruby on Rails - 如何为同一操作添加第二条路线?

Rails:从URL解析路由信息