J'utilise acts_as_taggable_on stéroïdes et j'ai problème avec ce morceau de code qui génère un lien vers un tag:Rails link_to avec acts_as_taggable_on_steroids
<%= link_to tag, tag_path(:id => tag.name) %>
quand j'accéder à l'URL:
http://localhost:3000/tags/rails
J'obtiens l'erreur:
No action responded to rails. Actions: show
Cependant, cette URL fonctionne:
http://localhost:3000/tags/show/rails
J'ai défini l'action show dans mon tags_controller.rb
class TagsController < ApplicationController
def show
@stories = Story.find_tagged_with(params[:id])
end
end
Je les routes suivantes générées par rake: itinéraires:
tags GET /tags(.:format) {:controller=>"tags", :action=>"index"}
POST /tags(.:format) {:controller=>"tags", :action=>"create"}
new_tag GET /tags/new(.:format) {:controller=>"tags", :action=>"new"}
edit_tag GET /tags/:id/edit(.:format) {:controller=>"tags", :action=>"edit"}
tag GET /tags/:id(.:format) {:controller=>"tags", :action=>"show"}
PUT /tags/:id(.:format) {:controller=>"tags", :action=>"update"}
DELETE /tags/:id(.:format) {:controller=>"tags", :action=>"destroy"}
donc je sais que les balises d'URL/rails pointe vers les balises route /: id, et j'ai fourni un paramètre supplémentaire à link_to pour assigner le nom de balise en tant que: id, mais comme vous pouvez le voir, cela ne fonctionne pas. Un forum a suggéré que j'utilise le to_param mais je n'ai pas de modèle de balise et le livre a suggéré contre. Est-ce que je manque quelque chose?
Je suis la livre Sitepoint Rails simplement 2
EDIT: ajouté URL de travail, voir en haut