Ok, j'ai des événements que je veux publier/dépublier avec une action supplémentaire (nonRESTful) J'ai regardé le railcast de Ryan Bates sur ceci: http://railscasts.com/episodes/35-custom-rest-actions et il m'a obtenu la plupart du temps. Je pense que le problème est que ma route est niché dans une section /admin
si bien que quand je lance rake routes
et obtenez:Rails ne trouve pas mon itinéraire mais il existe!
publish_admin_event PUT /admin/events/:id/publish(.:format) {:controller=>"event_services", :action=>"publish"}
Cela ne fonctionnera pas dans mon dossier de /views/admin/index.html.erb:
<%= link_to 'Publish', publish_admin_event(event), :method => :put %>
car il prétend que le chemin n'existe pas! Et ni volonté ceci:
<%= link_to 'Publish', {:controller => :event_services, :action => :publish}, {:method => :put, :id => event} %>
et dit que "No route matches {:controller=>"event_services", :action=>"publish"}
"
donc ce qui donne? (Et je l'ai essayé de redémarrer mon serveur pour c'est pas.)
EDIT: Cela marche:
<%= link_to 'Publish', "/admin/events/" + event.id.to_s + "/publish", :method => :put %>
Mais je préfère ne pas faire ça.
EDIT # 2: Mon entrée d'itinéraire:
map.resource :admin do |admin|
admin.admin '', :controller => :admin, :only => :index
admin.resources :events, :controller => :event_services, :member => {:publish => :put } do |service_event|
# ...
end
end
Pouvez-vous poster votre entrée d'itinéraire? –
@Andy Gaskell: posté mais j'accepterai probablement la réponse de sepp2k. Si vous avez quelque chose d'utile à ajouter en guise de réponse, je vous mettrai en colère. – DJTripleThreat