我正在开发 Rails 4 应用程序,并且我有以下控制器代码
def index
@issue = Issue.find(1)
@sections = @issue.sections
@articles = @issue.articles
end
如果数据库为空并出现错误:“无法找到 id=1 的问题”,则会中断。检查此问题的正确方法是什么,如果数据库中没有任何内容,则不会引发错误?
您可以使用的一种方法是exists?
活动记录方法,如下所示:
@issue = Issue.where(id: 1)
if @issue.exists?
# do something if it exists
else
# do something if it is missing
end
旁注:因为您试图通过以下方式查找id
,你不一定需要.where
部分;你可以简单地做:Issue.exists?(1)
.
exists?APIDoc 上的文档 http://apidock.com/rails/ActiveRecord/FinderMethods/exists%3F
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)