在Rails中测试模型是否具有给定方法,可以使用Ruby的内置方法respond_to?
。respond_to?
方法可以检查对象是否响应给定的方法。
以下是一个示例代码,展示了如何使用respond_to?
方法测试模型是否具有给定方法:
class User< ApplicationRecord
def has_email?
email.present?
end
end
user = User.new
if user.respond_to?(:has_email?)
puts "User has email"
else
puts "User does not have email"
end
在这个示例中,我们定义了一个名为has_email?
的方法,并在User
模型中使用respond_to?
方法检查该方法是否存在。如果存在,则输出"User has email",否则输出"User does not have email"。
需要注意的是,respond_to?
方法只能检查对象是否响应给定的方法,而不能检查方法的实现是否正确。
领取专属 10元无门槛券
手把手带您无忧上云