Come posso includere lo stesso helper in una action ed in una view?

Utente HTML.it
chiede

Come posso includere lo stesso helper in una action ed in una view?

Redazione HTML.it
risponde

Ruby è un linguaggio estremamente dinamico ed esistono diverse soluzioni a questo problema. La più semplice consiste nell’includere il metodo nel controller ed utilizzare il comando helper_method per renderlo disponibile anche nella view.

Ad esempio, nel controller AboutController creo un helper my_name che restituisce il mio nome.

class AboutController < ApplicationController
  ...
 
  protected
 
  def my_name
    'Simone Carletti'
  end
 
end

Per rendere questo helper disponibile anche nel template è sufficiente usare il metodo helper_method.

class AboutController < ApplicationController
  ...
 
  protected
 
  def my_name
    'Simone Carletti'
  end
  helper_method :my_name
 
end

Da questo momento anche i file view per questo controller avranno accesso all’helper my_name.