Helpers

Helpers modules contain methods that can be used in controllers and views.

CLI tasks

Example

module ProductHelper
  def quantity(product)
    String.build do |s|
      s << product.quantity.to_s
      s << " "
      s << product.pluralize(product.quantity, product.name)
      s << " remaining."
    end
  end
  
  def name(product)
    product.name.titleize
  end
end
  • The quantity and name helper methods will only be accessible within the ProductController class and any views rendered from that class.

Application helper

The application helper works slightly differently. The application helper is included in the ApplicationController class.

Since ApplicationController is inherited from every new controller, every controller (and view) has access to helper methods defined in the application helper.

Methods should only be defined in this module if you want them accessible from all parts of your application.

Last updated