Rails 4.2。我有一个单页网站,index.html.erb,控制器:访客。导航链接是“关于”,“服务”,“定价”等。导航链接如下:
因为每个链接都有效,但网址看起来像这样 http://domain.com/#section2
我希望网址如下所示,我希望匹配的单词“关于”指向所选的锚点 http://domain.com/about
我尝试了routes.rb中的一些变体,但没有任何效果。 匹配'about',to:'visitor #index',anchor:“section2”,via :: get
我还尝试在访问者控制器中进行重定向,关于操作如下 redirect_to action:“index”,anchor:“section2”
似乎没什么用。有什么想法吗?
答案 0 :(得分:3)
考虑about
是实际路线,您的link_to
应如下所示:
link_to 'about', about_path(anchor: 'section2')
这将创建:http://domain.com/about#section2
此处的关键是将锚点作为参数传递给foo_path(anchor: '..', ...)
答案 1 :(得分:3)
如果我理解正确,你会期待一些使http://domain.com/about
指向http://domain.com/#about
的魔法。
好消息,这是可能的:)
写下routes.rb
以下行:
get '/about', to: redirect('/#about')