How to use Rails URL helpers in any Ruby class

Updated . Posted . Visible to the public.

If you have any class which requires access to some path methods generated by your routes. Even though you could technically include Rails.application.routes.url_helpers, this may include way too many methods and even overwrite some class methods in the worst case.

Instead, most of the time the following is advised to only make the desired methods available:

class Project
  delegate :url_helpers, to: 'Rails.application.routes'

  def project_path
    url_helpers.project_path(self)
  end
end
Henning Koch
Last edit
Felix Eschey
Keywords
route, routes, from, model
License
Source code in this card is licensed under the MIT License.
Posted by Henning Koch to makandra dev (2011-08-29 13:20)