我的应用程序中有一个用户模型和一个列表模型。
pages_controller.rb
class PagesController < ApplicationController
def home
if user_signed_in?
@lists = current_user.lists
# raise @lists.inspect
@new_list = current_user.lists.build
end
end
end
页面/home.html.erb
<%= raise @lists.inspect %>
现在,我当前的用户没有与他关联的列表。当我取消注释“Pages#home”中的第三行时
提高@lists.inspect我得到这样的输出:
[]
但是,当我注释掉该行时,会引发 home.html.erb 内部的异常,其输出如下所示:[#<List id: nil, name: nil, description: nil, user_id: 1, created_at: nil, updated_at: nil>]
为什么同一行的输出有差异@lists.inspect
?
编辑: 当我使用@lists = current_user.lists.all
而不是@lists = current_user.lists
then 我在两个地方都得到一个空数组。为什么两个代码之间的行为差异?