2017-06-04 4 views
-2

ランダムオブジェクトをカードに表示したい。私は理解していないランダムオブジェクトを表示したい

"undefined method `sample' for nil:NilClass", 
"undefined method `photo' for nil:NilClass", 
"undefined method `user' for nil:NilClass" 

<div class="row"> 
    <% @slots.sample(3).each do |slot| %> 
    <div class="col-md-4 col-sm-6"> 
     <div class="card-image"> 
     <%= link_to slot_path(slot) do %> 
     <% if slot.photo? %> 
      <%= cl_image_tag slot.photo, class: "img-rounded img-responsive", height: 262, width: 195 %> 
     <% else %> 
      <%= image_tag "image_placeholder.jpg", class: "fileinput-new thumbnail img-no-padding", height: 250, width: 400 %> 
     <% end %> 
     <% end %> 
     <div class="details"> 
      <div class="author"> 
      <%= link_to slot_user(slot) do %> 
      <%= cl_image_tag slot.user.photo, class: "img-circle img-no-padding img-responsive" %> 
      <span class="name"><%= slot.name %></span> 
      <span class="meta"><%= slot.user.first_name %> <%= slot.user.last_name %></span> 
      <% end %> 
      </div> 
     </div> 
     </div> 
    </div> 
    <% end %> 
    </div> 

私のコードは次のようなエラーメッセージを返します。手伝って頂けますか?

+0

感謝沢を使用します!私はstackoverflow =に投稿するのは初めてです – user8109925

+0

'@ slots'とは何ですか? 'スロット 'はどのように見えますか? – spickermann

+0

@slotsは定義されていません(nil)...決して設定しません。 – SteveTurczyn

答えて

0

あなたは例えば、conntrollerであなたの@slotsコレクションをランダム化することができます

@slots = Slot.where(id: Slot.pluck(:id).sample(3)) 

その後、あなたの補正のためのビューで直接

<% @slots.each do |slot| %> 
関連する問題