非クラス/モジュールエラーとの比較

概要

アルバムの数が 3 を超える場合に新しいアルバムへのリンクのみを表示することで、ユーザーが作成できるアルバムの数を制限しようとしています。「非クラス/モジュールと比較した」というエラーが表示されます。

<% if @albums < 3 %>

     <div class="all-albums" id="position-albums">
        <%= link_to 'New Album', "/albums/new", :style => "text-decoration:none; color:black; font-size: 20px;" %>
        <div class="plus-sign">
            <%= link_to '+', "/albums/new", :style => "text-decoration:none; color:black; font-size:80px; color:#85adad;" %>
        </div>
     </div>

<% end %>

解決策

@albums が AR コレクションの場合、size、length、または count メソッドを呼び出して、その中のオブジェクトの数を識別できます。例えば:

<% if @albums.size <= 3 %>

また、投稿によれば、< の代わりに <= を使用する必要があります。

これら 3 つの方法はすべて互いに異なるため、状況に応じて必要な方法を選択する必要があります。