Ruby on rails 访问管理控制器中的帮助器方法

Ruby on rails 访问管理控制器中的帮助器方法,ruby-on-rails,helper,Ruby On Rails,Helper,所以我有以下几点 # app/helpers/experts_helper.rb module ExpertsHelper .... def twitter_link(expert) link_to expert.twitter_url, class: 'social-link', target: '_blank' do content_tag(:i, '', class: 'fa fa-twitter expert-fa') end end def linkedin_link

所以我有以下几点

# app/helpers/experts_helper.rb

module ExpertsHelper
....
def twitter_link(expert)
  link_to expert.twitter_url, class: 'social-link', target: '_blank' do
   content_tag(:i, '', class: 'fa fa-twitter expert-fa')
  end
end

def linkedin_link(expert)
  link_to expert.linkedin_url, class: 'social-link', target: '_blank' do
    content_tag(:i, '', class: 'fa fa-linkedin expert-fa')
   end
end
end
我可以在
视图/experts/…
中的所有视图中访问这些方法,但不能在
视图/admin/experts/…
中访问这些方法?谢谢

编辑1::更正了一些拼写错误,我还希望能够在
class Admin::expertscocontroller助手方法,但它无法解决此问题

编辑2:我尝试了所有建议的解决方案,但仍然没有显示任何内容

我尝试了
包含专家Shelper
包含应用程序控制器.helpers.method
,使用后者我得到
类型错误-错误参数类型数组(预期模块):
使用前者我没有得到任何错误,但我没有看到页面上显示任何内容,没有图标,没有照片,什么都没有。我甚至尝试在
模块专家::AdminHelper end
中复制
模块专家中的helper方法,但仍然没有任何结果。

我相信您可以使用这些helper方法。在控制器中,您可以这样使用它们:

view_context.twitter_link(expert)
view_context.linkedin_link(expert)

有关更多详细信息和选项,请参阅。

我希望您正在寻找此功能。在要访问帮助器方法的控制器中添加此行

include ApplicationHelper

admin/experts/…
视图是否使用不同的控制器?我想,如果默认情况下没有包括所有助手,您可能只需要在该控制器中包含ExpertsHelper
。首先,您的模块应该命名为
ExpertsHelper
而不是
Experts Helper
——后者实际上声明了
Experts::Helper
@Max,只是修复了typo@TJR,到目前为止我所做的一切1。将
config.action\u controller.include\u all\u helpers=true
添加到
application.rb
2。在
Admin::ExpertsController
中是否有手册
include ExpertsHelper
我仍然看不到任何东西在类中使用
include ExpertsHelper
将包括
ExpertsHelper
模块中定义的方法。这是纯ruby,与rails没有任何关系。我猜错误在其他地方,或者您可能只是在尝试一些奇怪的事情,比如在render之外调用您的方法。如果您可以添加
Admin::expertscocontroller
的相关部分,这可能会有所帮助—您已尝试执行这些操作来验证您的类是否具有方法和确切的错误消息。“当我尝试执行A时,收到错误消息B”。使用
include ApplicationController.helpers.method
,我得到
类型错误-错误的参数类型数组(预期模块):