2010-12-15 8 views

Respuesta

7

Colóquelo en ApplicationController (no es un ayudante) y declare helper_method :method_name.

+0

¿Quiere decir que en lugar de utilizar un archivo separado para ayudantes globales Los pongo en el controlador de la aplicación? – Nerian

+1

Puede definirlos en un módulo e incluirlos en ApplicationController. Lo que estoy diciendo es que un método contenido en un helper no se puede usar en un controlador; sin embargo, un método en un controlador (o en un módulo que se incluye en un controlador) puede estar disponible para las vistas y los ayudantes usando 'helper_method'. –

11

O ... incluirlos en el controlador

class ApplicationController < ActionController::Base 
    include UrlHelper 
end 
+0

se supone que funciona en Rails 4? Porque no funciona para mí. El include funciona, pero las vistas no tienen acceso a los métodos. – Michael

+0

@Michael Sí, funciona. Es simple 'ruby', no importa el' framework' o su 'versión'. Utilice 'include' para los métodos de instancia y' extend' para los métodos de clase. – jibiel

Cuestiones relacionadas