v1.1.1 - Show latest stable - 0 notes

Dependencies control what classes are needed for the controller to run its course. This is an alternative to doing explicit require statements that bring a number of benefits. It’s more succinct, communicates what type of dependency we’re talking about, can trigger special behavior (as in the case of observer), and enables Rails to be clever about reloading in cached environments like FCGI. Example:

  class ApplicationController < ActionController::Base
    model    :account, :company, :person, :project, :category
    helper   :access_control
    service  :notifications, :billings
    observer :project_change_observer

Please note that a controller like ApplicationController will automatically attempt to require_dependency on a model of its singuralized name and a helper of its name. If nothing is found, no error is raised. This is especially useful for concrete controllers like PostController:

  class PostController < ApplicationController
    # model  :post (already required)
    # helper :post (already required)

Also note, that if the models follow the pattern of just 1 class per file in the form of MyClass => my_class.rb, then these classes don’t have to be required as Active Support will auto-require them.

Show files where this module is defined (1 file)
Register or log in to add new notes.