C'est une bonne idée de créer une classe qui inclut Rails.application.routes.url_helpers.
class MyUrlResolver
  class << self
    include Rails.application.routes.url_helpers
  end
  #Aide définie à l'origine
  def self.custom_users_path(user)
    if user.admin?
      admin_users_path
    else
      users_path
    end
  end
end
avec ça,
> MyUrlResolver.admin_users
=> "/admin_users"
> MyUrlResolver.users_path
=> "/users"
En plus du UrlHelper standard
> MyUrlResolver.custom_users_path(admin_user)
=> "/admin_users"
> MyUrlResolver.custom_users_path(normal_user)
=> "/users"
Vous pouvez également utiliser votre propre UrlHelper.
Recommended Posts