我是红宝石的新手我在这里遇到很多问题。我想计算从pages
表
这是我的代码 -
@page = Page.find_by_id(1)
#render text: @page.size
#render text: @page.length
#render text: @page.count
if @page.size
@page_name = @page.page_name
else
redirect_to root_url
end
我收到错误消息:
undefined method `size' for nil:NilClass
此外,我还尝试使用length
和count
相同类型的错误消息。请帮帮我。
答案 0 :(得分:1)
ActiveRecord::Base#find
只返回一条记录。
应该使用ActiveRecord::Base#where
来搜索多个记录:
@page = Page.where(condition_here)
find
正如我在上面链接的文档中明确指出的那样,find
方法如果无法查找记录,将引发RecordNotFound
异常。 如果使用find
失败,请重定向到404:
begin
@page = Page.find_by_id(1)
@page_name = @page.page_name
rescue RecordNotFound
redirect_to root_url
end