Es ist eine gute Idee, eine Klasse zu erstellen, die "Rails.application.routes.url_helpers" enthält.
class MyUrlResolver
class << self
include Rails.application.routes.url_helpers
end
#Ursprünglich definierter Helfer
def self.custom_users_path(user)
if user.admin?
admin_users_path
else
users_path
end
end
end
mit diesem,
> MyUrlResolver.admin_users
=> "/admin_users"
> MyUrlResolver.users_path
=> "/users"
Neben dem Standard UrlHelper
> MyUrlResolver.custom_users_path(admin_user)
=> "/admin_users"
> MyUrlResolver.custom_users_path(normal_user)
=> "/users"
Sie können auch Ihren eigenen definierten UrlHelper verwenden.
Recommended Posts