Ruby on rails 无法从视图访问应用程序\控制器中的帮助程序方法
应用程序控制器有一个助手方法:当前用户可以从“我的所有视图”访问。但在我看来,pro_用户是完全无法访问的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
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
的成员变量
我做{..做废话..}
那不是瓦利