2012-09-27 52 views
0

我有下面的鏈接發生器的視圖:的link_to沒有控制器和無動作

- @tags.each do |tag| 
    = link_to tag.name, :controller => "images", :action => "#{tag.name}" 

@tagsTag.all。它顯示具有正確名稱的鏈接,鼠標懸停顯示例如

http://localhost:3000/Images/tagname 

,但如果我點擊一個錯誤是:

No route matches {:controller=>"", :action=>""} 

怎樣才說,當我指定:controller => "images":controller是空的?

耙路由(相關部分):

images GET   /images(.:format)      images#index 
POST     /images(.:format)      images#create 
new_image GET  /images/new(.:format)     images#new 
edit_image GET  /images/:id/edit(.:format)   images#edit 
image GET   /images/:id(.:format)     images#show 
PUT     /images/:id(.:format)     images#update 
DELETE    /images/:id(.:format)     images#destroy 
tags GET    /Images(.:format)      tags#index 
POST     /Images(.:format)      tags#create 
new_tag GET   /Images/new(.:format)     tags#new 
edit_tag GET   /Images/:id/edit(.:format)   tags#edit 
tag GET    /Images/:id(.:format)     tags#show 
PUT     /Images/:id(.:format)     tags#update 
DELETE    /Images/:id(.:format)     tags#destroy 

一個標籤例如是 「saturn」,所以我在routes.rb也加入這條航線:

match '/Images/saturn'    => 'images#saturn' 

導致:

Images_saturn  /Images/saturn(.:format)    images#saturn 

我也有我的圖像控制器的方法 「saturn」。

+1

你可以在這裏發佈'rake routes'的結果嗎? –

+1

更多堆棧跟蹤?很有可能是你將*鏈接到*的視圖,其中包含錯誤的URL幫助器方法,而不是包含這些標記鏈接的視圖。畢竟,如果你在這個視圖中有一個路由錯誤,當你試圖加載它時,你會得到錯誤,而不是當你試圖離開時。 – gregates

+0

我已經添加了耙路結果。 – user929062

回答

0

在我看來,你有一個大寫問題。你的路線中有/圖像和/圖像...你可以嘗試修復它嗎?

0

嘗試

=的link_to tag.name,{:控制器=> 「圖像」,:動作=> 「#{tag.name)}」

+0

不幸的是,結果相同... – user929062

0

你有一個額外的 「)」 之後

"#{tag.name)}" 
+0

對不起,我的錯,在代碼中是正確的。我已經在上面的問題中糾正了它。 – user929062

相關問題