2012-01-18 30 views
29

Có thể gọi các phương thức trợ giúp từ bộ điều khiển không? Nếu có làm thế nào để làm điều này trong Rails 3?Phương thức trợ giúp gọi từ bộ điều khiển Rails 3

+6

Có thể thực hiện được. Bạn có thể tìm thấy câu trả lời ở đây: http://stackoverflow.com/questions/453762/nomethoderror-when-trying-to-invoke-helper-method-from-rails-controller – alexkv

+0

Vui lòng đánh dấu "view_context.some_helper_method" là câu trả lời cảm ơn bạn. – Vinozio

Trả lời

36
view_context.some_helper_method 
+1

Đây là câu trả lời đúng nhất cho Rails 3. –

28

Bạn có thể bao gồm mô-đun trợ giúp trong bộ điều khiển hoặc xác định trình trợ giúp làm phương thức điều khiển và đánh dấu nó là người trợ giúp qua helper_method :method_name.

class FooHelper 
    def bar ... end 
end 

class QuxsController 
    include FooHelper 
end 

hoặc

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

này đang làm việc nếu một số ai muốn sử dụng ApplicationHelper phương pháp trong điều khiển khác hoặc xem chỉ cần thêm include ApplicationHelper này cung cấp cho dưới đây vì tất cả các bộ điều khiển của bạn bắt nguồn từ ApplicationController.

class ApplicationController < ActionController::Base 
    protect_from_forgery  
    include ApplicationHelper 
end 
Các vấn đề liên quan