我认为这样做只是常识和 Ruby 约定,但我有这种方法:
def is_subscribed?(feed_url)
Subscription.find_by_user_id_and_feed_id(self[ :id ], Feed.find_by_feed_url(feed_url))
end
我得到的唯一困惑是,这不会像我最初预期的那样返回布尔值,方法是将问号放在方法名称的末尾。我的印象是,当评估一个有条件的对象时,它会返回true
if not nil
。
显然我在这里忽略了这一点,它没有像我想的那样评估它。
所以,我的问题是,最好只做一个if (condition) true else false
?还是有更优雅的方法来做到这一点?