我有一个带有以下链接生成器的视图:
- @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
时,如何说:controller => "images"
为空?
佣金路线(相关部分):
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
”。
答案 0 :(得分:0)
尝试
= link_to tag.name,{:controller => “images”,:action => “#{tag.name)}”}
答案 1 :(得分:0)
后你还有一个额外的“)”
"#{tag.name)}"
答案 2 :(得分:0)
在我看来,你有一个大写问题。你的路线中有/ images和/ Images ......你可以尝试修复吗?