Ruby on rails 无法从视图访问应用程序\控制器中的帮助程序方法

Ruby on rails 无法从视图访问应用程序\控制器中的帮助程序方法,ruby-on-rails,helpermethods,Ruby On Rails,Helpermethods,应用程序控制器有一个助手方法:当前用户可以从“我的所有视图”访问。但在我看来,pro_用户是完全无法访问的 def current_user @current_user ||= User.find_by_auth_token( cookies[:auth_token]) if cookies[:auth_token] rescue ActiveRecord::RecordNotFound end helper_method :current_use

应用程序控制器有一个助手方法:当前用户可以从“我的所有视图”访问。但在我看来,pro_用户是完全无法访问的

    def current_user
      @current_user ||= User.find_by_auth_token( cookies[:auth_token]) if cookies[:auth_token]
      rescue ActiveRecord::RecordNotFound
    end
    helper_method :current_user

   def pro_user

        @pro_user ||= Subscription.where(:email => current_user.email).pluck(:email) 
        return @pro_user
        rescue ActiveRecord::RecordNotFound

   end
   helper_method :pro_user 
现在在视图中,如果我访问pro_用户,它总是为零。但有趣的是,我在应用程序控制器中还有一个名为current_user的方法,它是一个helper_方法。它在视野中工作得很好


你能帮我吗

你在误诊你的问题。它工作得很好,视图肯定可以看到您的方法,但是您的方法返回了
nil
。你的方法没有返回任何内容

如果该方法实际上是不可访问的,您会看到一个例外。Ruby不会简单地将未知方法解析为
nil

在视图中,我试图查看pro_user.email.blank是否为空?而且一直都是零

这不是使用您发布的方法返回的值的有效方法。它返回一个数组

我还在视图中尝试了@pro_user。所有内容都在应用程序控制器中正确打印,但在视图中为零

那也不是。该方法返回一个包含零个或多个电子邮件地址的数组,这就是
pulk
的作用。返回值将永远不会响应
.email
。您需要使用
pro\u email.any?
来测试数组是否包含任何项

您也不能简单地访问
@pro\u user
。它不调用方法,该方法访问默认为
nil
的成员变量

我做{..做废话..}


这不是有效的erb语法。假设您的语法实际上是正确的,
blank?
将为空数组返回
true
。该方法返回的是
[]
,而不是
nil
。没有错误,您只需要找出查询返回零记录的原因。

您的问题被误诊了。它工作得很好,视图肯定可以看到您的方法,但是您的方法返回了
nil
。你的方法没有返回任何内容

如果该方法实际上是不可访问的,您会看到一个例外。Ruby不会简单地将未知方法解析为
nil

在视图中,我试图查看pro_user.email.blank是否为空?而且一直都是零

这不是使用您发布的方法返回的值的有效方法。它返回一个数组

我还在视图中尝试了@pro_user。所有内容都在应用程序控制器中正确打印,但在视图中为零

那也不是。该方法返回一个包含零个或多个电子邮件地址的数组,这就是
pulk
的作用。返回值将永远不会响应
.email
。您需要使用
pro\u email.any?
来测试数组是否包含任何项

您也不能简单地访问
@pro\u user
。它不调用方法,该方法访问默认为
nil
的成员变量

我做{..做废话..}


这不是有效的erb语法。假设您的语法实际上是正确的,
blank?
将为空数组返回
true
。该方法返回的是
[]
,而不是
nil
。没有错误,您只需要找出查询返回零记录的原因。

您的问题被误诊了。它工作得很好,视图肯定可以看到您的方法,但是您的方法返回了
nil
。你的方法没有返回任何内容

如果该方法实际上是不可访问的,您会看到一个例外。Ruby不会简单地将未知方法解析为
nil

在视图中,我试图查看pro_user.email.blank是否为空?而且一直都是零

这不是使用您发布的方法返回的值的有效方法。它返回一个数组

我还在视图中尝试了@pro_user。所有内容都在应用程序控制器中正确打印,但在视图中为零

那也不是。该方法返回一个包含零个或多个电子邮件地址的数组,这就是
pulk
的作用。返回值将永远不会响应
.email
。您需要使用
pro\u email.any?
来测试数组是否包含任何项

您也不能简单地访问
@pro\u user
。它不调用方法,该方法访问默认为
nil
的成员变量

我做{..做废话..}


这不是有效的erb语法。假设您的语法实际上是正确的,
blank?
将为空数组返回
true
。该方法返回的是
[]
,而不是
nil
。没有错误,您只需要找出查询返回零记录的原因。

您的问题被误诊了。它工作得很好,视图肯定可以看到您的方法,但是您的方法返回了
nil
。你的方法没有返回任何内容

如果该方法实际上是不可访问的,您会看到一个例外。Ruby不会简单地将未知方法解析为
nil

在视图中,我试图查看pro_user.email.blank是否为空?而且一直都是零

这不是使用您发布的方法返回的值的有效方法。它返回一个数组

我还在视图中尝试了@pro_user。所有内容都在应用程序控制器中正确打印,但在视图中为零

那也不是。该方法返回一个包含零个或多个电子邮件地址的数组,这就是
pulk
的作用。返回值将永远不会响应
.email
。您需要使用
pro\u email.any?
来测试数组是否包含任何项

您也不能简单地访问
@pro\u user
。它不调用方法,该方法访问默认为
nil
的成员变量

我做{..做废话..}

那不是瓦利