У меня есть куча возможных вариантов для primary_category
для blog
. У каждого есть ассоциированный значок, поэтому я имею их в blogs/_category_icon.html.erb
частичном:
<% case @blog.primary_category
when "General" %>
<%= link_to blogs_path, class: "text-slate" do %>
<i class="fas fa-book-open pr-2"></i> <%= @blog.primary_category %>
<% end %>
<% when "Motivation" %>
<%= link_to page_path("motivation"), class: "text-slate" do %>
<i class="fas fa-mountain pr-2"></i> <%= @blog.primary_category %>
<% end %>
<% when "Mindset" %>
<%= link_to page_path("mindset"), class: "text-slate" do %>
<i class="fas fa-brain pr-2"></i> <%= @blog.primary_category %>
<% end %>
<% when "Resourcing" %>
<%= link_to page_path("resourcing"), class: "text-slate" do %>
<i class="fas fa-first-aid pr-2"></i> <%= @blog.primary_category %>
<% end %>
<% when "Planning" %>
<%= link_to page_path("planning"), class: "text-slate" do %>
<i class="fas fa-sitemap pr-2"></i> <%= @blog.primary_category %>
<% end %>
<% when "Time Management" %>
<%= link_to page_path("time-management"), class: "text-slate" do %>
<i class="fas fa-stopwatch pr-2"></i> <%= @blog.primary_category %>
<% end %>
<% when "Discipline" %>
<%= link_to page_path("discipline"), class: "text-slate" do %>
<i class="fas fa-cookie-bite pr-2"></i> <%= @blog.primary_category %>
<% end %>
<% end %>
. Он отлично отрисовывается на моей blog#show
странице с таким:
<%= render "blogs/category_icon", locals: { blog: @blog } %>
Однако, когдаЯ пытаюсь вызвать его на странице blogs#index
из блока <% @blogs.each do |blog| %>
, появляется сообщение об ошибке undefined method 'primary_category' for nil:NilClass
.
Код на странице blogs#index
выглядит следующим образом:
<% @blogs.each do |blog| %>
...
<%= render "blogs/category_icon", locals: { blog: blog } %>
...
<% end %>
Кто-нибудь может понять, почему этот локальный канал не проходит должным образом?