0

アプリに User モデルと List モデルがあります。

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」の3行目のコメントを外すと

@lists.inspectを上げる
次のような出力が得られます。
[]

しかし、その行をコメントアウトすると、home.html.erb 内の例外が発生し、その出力は次のようになります。[#<List id: nil, name: nil, description: nil, user_id: 1, created_at: nil, updated_at: nil>]

@lists.inspect同じ行の出力に違いがあるのはなぜですか?

EDIT:@lists = current_user.lists.all代わりに使用すると@lists = current_user.lists 、両方の場所で空の配列が得られます。2 つのコードの動作の違いはなぜですか?

4

1 に答える 1