如果仅在Rails中存在记录,如何删除记录?

Swa*_*rla 1 mysql activerecord ruby-on-rails

当我删除帖子本身时,我想删除我为帖子创建的标记.但是如果令牌不存在,我不希望Rails抛出错误并停止执行.

现在,我就是这样做的.我觉得这段代码太粗糙了.有没有任何巧妙的方法来实现同样的目标?

DownloadToken.find_by_post_id(post.id).destroy unless DownloadToken.find_by_post_id(@post.id).nil?
Run Code Online (Sandbox Code Playgroud)

Nit*_*hin 7

这是一种方式

DownloadToken.find_by_post_id(post.id).try(:destroy)
Run Code Online (Sandbox Code Playgroud)