2012-01-18 17 views
29

È possibile chiamare i metodi di supporto dal controller? Se sì, come farlo in Rails 3?Chiamare il metodo helper dal controller Rails 3

+6

Sì, è possibile. È possibile trovare la risposta qui: http://stackoverflow.com/questions/453762/nomethoderror-when-trying-to-invoke-helper-method-from-rails-controller – alexkv

+0

Per favore contrassegna "view_context.some_helper_method" come risposta grazie tu. – Vinozio

risposta

36
view_context.some_helper_method 
+1

Questa è la risposta più corretta per Rails 3. –

28

È possibile includere il modulo helper nel controller oppure definire l'helper come metodo di controllo e contrassegnarlo come helper tramite helper_method :method_name.

class FooHelper 
    def bar ... end 
end 

class QuxsController 
    include FooHelper 
end 

o

class QuxsController 
    private 
    def bar ... end 
    helper_method :bar 
end 
1

Questo è il lavoro se qualcuno vuole usare il metodo ApplicationHelper in altri controller o vista Basta aggiungere questo include ApplicationHelper dare seguito perché tutto il controller derivato da ApplicationController.

class ApplicationController < ActionController::Base 
    protect_from_forgery  
    include ApplicationHelper 
end 
Problemi correlati