我有下面的鏈接發生器的視圖:的link_to沒有控制器和無動作
- @tags.each do |tag|
= link_to tag.name, :controller => "images", :action => "#{tag.name}"
@tags
是Tag.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
」。
你可以在這裏發佈'rake routes'的結果嗎? –
更多堆棧跟蹤?很有可能是你將*鏈接到*的視圖,其中包含錯誤的URL幫助器方法,而不是包含這些標記鏈接的視圖。畢竟,如果你在這個視圖中有一個路由錯誤,當你試圖加載它時,你會得到錯誤,而不是當你試圖離開時。 – gregates
我已經添加了耙路結果。 – user929062