2016-12-16 61 views
3

我在我的轨道项目ColumnSort模块的担忧定义helper方法。如何在控制器

module ColumnSort 
    extend ActiveSupport::Concern 

    def sort_column 
    # do something 
    end 
end 

而且我用它从CompaniesControllerUsersController

class CompaniesController < ApplicationController 
    include ColumnSort 
    helper_method :sort_column 
end 

class UsersController < ApplicationController 
    include ColumnSort 
    helper_method :sort_column 
end 

它工作正常。但是我想在模块ColumnSort中写入行helper_method :sort_column。我怎么写它?

回答

0

您不必调用是helper_method。 helper_method是向视图公开一个控制器方法,以便不从辅助类中导入方法。

include ColumnSort 

此行包含Helper Class中包含的所有方法。

您可以在Rails的API文档阅读更多关于它:http://apidock.com/rails/ActionController/Helpers/ClassMethods/helper_method

+3

我想从视图中使用的方法。 – ironsand

+0

为什么不在应用程序控制器中同时定义include和helper_method?您可以跳过将其添加到每个控制器中。 –

+1

因为我只使用这两个控制器和视图中的方法。还有其他的控制器和视图没有'sort_column'方法。 – ironsand