2011-01-26 13 views
7

all! Forse qualcuno sa perché questo:link_to (: controller => "qualcosa") helper + Devise non funziona correttamente

def index_link(object, content = t("#{object.to_s.pluralize}.index")) 
    #link_to(content, {:controller=>object.to_s.pluralize}, :scope=>"") if can?(:read, p(object)) #this doesn't work too 
    link_to(content, :controller=>"trademarks") 
    #link_to(content, trademarks_path) #this do work, but I need to set path from object 
end 

fa un'eccezione in questo modo:

No route matches {:controller=>"devise/trademarks"} 

stack:

actionpack (3.0.3) lib/action_dispatch/routing/route_set.rb:424:in `raise_routing_error' 
actionpack (3.0.3) lib/action_dispatch/routing/route_set.rb:406:in `generate' 
actionpack (3.0.3) lib/action_dispatch/routing/route_set.rb:453:in `generate' 
actionpack (3.0.3) lib/action_dispatch/routing/route_set.rb:481:in `url_for' 
actionpack (3.0.3) lib/action_dispatch/routing/url_for.rb:131:in `url_for' 
actionpack (3.0.3) lib/action_view/helpers/url_helper.rb:99:in `url_for' 
actionpack (3.0.3) lib/action_view/helpers/url_helper.rb:236:in `link_to' 
app/helpers/application_helper.rb:53:in `index_link' 
app/views/layouts/application.html.erb:20:in `_app_views_layouts_application_html_erb___741328535__615736668_0' 
actionpack (3.0.3) lib/action_view/template.rb:135:in `send' 
actionpack (3.0.3) lib/action_view/template.rb:135:in `render' 

e come farlo funzionare?

+0

Cosa vuoi dire con "Ho bisogno di impostare il percorso da oggetto"? – Heikki

+0

potresti dichiarare l'output dei percorsi rake dalla tua console? – ecoologic

+0

@Heikki, ho bisogno del metodo index_link per funzionare. –

risposta

1

qui è la parte del rake routes:

 new_user_session GET /users/login(.:format)   {:controller=>"devise/sessions", :action=>"new"} 
      user_session POST /users/login(.:format)   {:controller=>"devise/sessions", :action=>"create"} 
    destroy_user_session GET /users/logout(.:format)  {:controller=>"devise/sessions", :action=>"destroy"} 
     user_password POST /users/password(.:format)  {:controller=>"devise/passwords", :action=>"create"} 
    new_user_password GET /users/password/new(.:format) {:controller=>"devise/passwords", :action=>"new"} 
    edit_user_password GET /users/password/edit(.:format) {:controller=>"devise/passwords", :action=>"edit"} 
         PUT /users/password(.:format)  {:controller=>"devise/passwords", :action=>"update"} 
    user_registration POST /users(.:format)    {:controller=>"devise/registrations", :action=>"create"} 
new_user_registration GET /users/register(.:format)  {:controller=>"devise/registrations", :action=>"new"} 
edit_user_registration GET /users/edit(.:format)   {:controller=>"devise/registrations", :action=>"edit"} 
         PUT /users(.:format)    {:controller=>"devise/registrations", :action=>"update"} 
         DELETE /users(.:format)    {:controller=>"devise/registrations", :action=>"destroy"} 
         GET /content/:id-:alias(.:format) {:controller=>"contents", :action=>"show", :id=>/\d+/} 
       contents GET /content(.:format)    {:controller=>"contents", :action=>"index"} 
         POST /content(.:format)    {:controller=>"contents", :action=>"create"} 
      new_content GET /content/new(.:format)   {:controller=>"contents", :action=>"new"} 
      edit_content GET /content/:id/edit(.:format) {:controller=>"contents", :action=>"edit"} 
       content GET /content/:id(.:format)   {:controller=>"contents", :action=>"show"} 
         PUT /content/:id(.:format)   {:controller=>"contents", :action=>"update"} 
         DELETE /content/:id(.:format)   {:controller=>"contents", :action=>"destroy"} 
      trademarks GET /trademarks(.:format)   {:controller=>"trademarks", :action=>"index"} 
         POST /trademarks(.:format)   {:controller=>"trademarks", :action=>"create"} 
     new_trademark GET /trademarks/new(.:format)  {:controller=>"trademarks", :action=>"new"} 
     edit_trademark GET /trademarks/:id/edit(.:format) {:controller=>"trademarks", :action=>"edit"} 
      trademark GET /trademarks/:id(.:format)  {:controller=>"trademarks", :action=>"show"} 
         PUT /trademarks/:id(.:format)  {:controller=>"trademarks", :action=>"update"} 
         DELETE /trademarks/:id(.:format)  {:controller=>"trademarks", :action=>"destroy"} 

la pagina richiesta è/utenti/modificare. L'errore si verifica solo nei controller di sviluppo.