0

我在网站上有一个页面,其中有很多锚链接,例如#menu| #saucesETC

在页面本身上,链接工作正常,非常棒。但是,当我在不同的控制器/视图上时,这些链接不会带我回到主控制器,也不会回到单击的锚点。

这是一个锚链接的示例,它位于标题中(位于所有控制器视图中)

    <%= link_to '#main', :id => 'menu_link' do %>
    <li>Menu</li>
    <% end %>

那是在:controller => "main", :action => "index"

当我在另一个控制器中时,例如我的位置控制器,链接变成这样localhost:3000/locations#menu

真的应该是localhost:3000/#menu

根设置为转到主控制器和索引操作。

这是我的 routes.rb 文件

 root :to => "main#index"
   match 'admin', :to => 'access#admin_index'
   match 'locations', :to => 'ranch_locations#locations'
   match ':controller(/:action(/:id))(.:format)'
4

2 回答 2

1

您需要指定它将转到不同的控制器。

<%= link_to '#main', :controller => "main", :action => "index", :id => 'menu_link' do %>
  <li>Menu</li>
<% end %>
于 2012-11-20T22:13:31.657 回答
0

你应该使用root_path(:anchor => :main)而不是"#main"

link_to "Comment wall", profile_path(@profile, :anchor => "wall")
# => <a href="/profiles/1#wall">Comment wall</a>

http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to

更新:

<%= link_to '#main', :id => 'menu_link' do %>

应该改为

<%= link_to root_path(:anchor => :main), :id => 'menu_link' do %>
于 2012-11-20T22:11:29.417 回答