[英]How can I access an object's property in Ruby
我的用户对象具有一个布尔属性,我想在用户登录时检查它。
这是我正在尝试做的,但是出现500错误:
user = User.find_by_email(params['email'])
if user.is_mentor
#do something
end
您需要检查是否确实有一个通过电子邮件params['email']
找到的用户:
user = User.find_by_email params['email']
if user.present? && user.is_mentor?
# do something
end
在这里, user.present?
检查user
是否不等于nil(如果未找到用户,则为nil)。
另外, ?
在方法调用的末尾表示该方法正在返回布尔值。 如果方法是用户定义的,则还应该在方法调用中包含问号:
def is_mentor?
# do something
end
您需要添加检查以查看是否找到了用户
if user.is_a?(User) && user.is_mentor
您只需要检查用户首先存在:
if user && user.is_mentor?
# do something
end
如果Rails找不到用户,则user为nil和false。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.