2012-11-20 59 views
0

我的網站,裏面有大量的錨鏈接如#menu的上頁| #saucesRails的:不正確的路由,重定向到另一個控制器

在頁面本身的鏈接做工精細,它的輝煌。 但是,當我在不同的控制器/視圖上時,這些鏈接不會將我帶回主控制器,並且不會將其轉到主控點。

這裏是一個錨定鏈路的一個例子,它是在報頭(它是所有控制器的視圖)

<%= 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)' 

回答

1

你需要指定它是將不同的控制器。

<%= link_to '#main', :controller => "main", :action => "index", :id => 'menu_link' do %> 
    <li>Menu</li> 
<% end %> 
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

UPD:

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

應改爲

<%= link_to root_path(:anchor => :main), :id => 'menu_link' do %> 
+0

我不明白的。有可能展示一個特定於我的問題的例子嗎? –

+0

是的。我剛剛更新了我的答案。 – ck3g

+0

該URL現在是適當的,它應該如何,但是鏈接,點擊時不做任何事情,它不會正確重定向。當我用新標籤打開它的工作原理,當我點擊它不? –

相關問題