首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ruby方法.present?

如何使用ruby方法.present?
EN

Stack Overflow用户
提问于 2013-09-15 16:45:34
回答 3查看 13.2K关注 0票数 11

我在rails应用中有一个类似这样的方法:

代码语言:javascript
复制
def current_user
        return @current_user if @current_user.present?
        @current_user = current_user_session && current_user_session.record
end

我以前没有使用过.present?方法,所以我进入了我的交互式ruby shell,尝试使用它。

每当我使用xxx.present?时,它都会返回一个NoMethodError。无论xxx是字符串、数字还是数组都无关紧要。

如何使用此方法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-15 16:49:53

presentActiveSupport提供的一种方法。它不是核心ruby的一部分。这就是你不能在ruby shell中使用它的原因。要使用它,您需要在控制台中提供相关的库(例如irb / pry):

代码语言:javascript
复制
require 'active_support'
require 'active_support/core_ext'

这样,您就可以访问activesupport提供的所有实用程序方法。

票数 23
EN

Stack Overflow用户

发布于 2013-09-15 16:48:24

present是一种rails方法,而不是ruby。

尝试使用rails c而不是irb在控制台中使用它。

票数 8
EN

Stack Overflow用户

发布于 2013-09-15 17:35:50

如上所述,.present不在ruby标准库中。相反,它是在active_support (docs)中。

要使用active_support,首先要安装gem,然后在irb或ruby脚本中需要它。有关如何有选择地加载活动支持扩展的更多信息,可以在Rails guides中找到。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18810562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档