2012-01-18 13 views
29

से सहायक सहायक कॉलिंग नियंत्रक से सहायक विधियों को कॉल करना संभव है? यदि हां रेल 3 में ऐसा कैसे करें?रेल 3 नियंत्रक

+6

हां यह संभव है। आप यहां जवाब पा सकते हैं: http://stackoverflow.com/questions/453762/nomethoderror-when-trying-to-invoke-helper-method-from-rails-controller – alexkv

+0

कृपया उत्तर के रूप में "view_context.some_helper_method" को चिह्नित करें आप। – Vinozio

उत्तर

36
view_context.some_helper_method 
+1

यह रेल 3 के लिए सबसे सही जवाब है। –

28

आप या तो नियंत्रक में सहायक मॉड्यूल शामिल कर सकते हैं, या एक नियंत्रक विधि के रूप में सहायक को परिभाषित कर सकते हैं और इसे helper_method :method_name के माध्यम से एक सहायक के रूप में चिह्नित कर सकते हैं।

class FooHelper 
    def bar ... end 
end 

class QuxsController 
    include FooHelper 
end 

या

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

यह कुछ एक अन्य नियंत्रकों या ध्यान में रखते हुए विधि ApplicationHelper उपयोग करने के लिए बस को जोड़ने के इस include ApplicationHelper नीचे दे क्योंकि अपने सभी नियंत्रक ApplicationController से प्राप्त करना चाहता है, तो काम कर रहा है।

class ApplicationController < ActionController::Base 
    protect_from_forgery  
    include ApplicationHelper 
end 
संबंधित मुद्दे