Снимок экрана сообщения об ошибке Я изучаю Ruby на Rails в колледже прямо сейчас, и я борюсь с этим. У меня есть проект, который будет завершен в ближайшие дни, но я не могу выяснить, что не так с моим кодом, я попытался исправить его, я уже погуглил его, но безуспешно.
Из-за коронавируса учебные заведения закрыты, и я не могу попросить своего лектора о помощи по этому вопросу.
Буду признателен, если кто-нибудь сможет мне помочь в этом?
Мое заявление очень простое, оно место, где люди могут публиковать все, что они хотят, однако им нужно выбрать категорию, а другие люди могут комментировать ее.
Ошибка, отображаемая в браузере, следующая:
неопределенный метод 'category' для #
Вы имели в виду? category_id
Трассировка включения шаблона: #
app / views / layouts / _breadcrumb_nav. html .erb: 21 app / views / layout / application. html .erb: 16
Запрос
Параметры:
{"id" => "3"}
Ниже показан мой код, в котором отображается ошибка:
Ниже находится /app/views/layouts/_breadcrumb_nav.html.erb
<!-- Check if there is a post present, a category is present and handle these two scenarios differently, also includes a default link back to the home page -->
<div class="inner">
<!-- Check if the user is signed in, otherwise just show the normal link -->
<% if account_signed_in? %>
<%= link_to "Sign Out", destroy_account_session_path, method: :delete, class: "pull-right m-l-10" %>
<% else %>
<%= link_to "Account", root_path, class: "pull-right m-l-10" %>
<% end %>
<%= link_to "New Post", new_post_path, class: "pull-right" %>
<%= link_to "Home", root_path %> >>
<!-- Do not show category if category if it is new entry and has no category set yet
check out application_helper.rb
-->
<% if @post.present? && !@post.new_record?
category = @post.category
parent = category.parent if category.present?
%>
<% if parent.present? %>
<%= link_to parent.name, category_path(parent) %> >>
<% end %>
<%= link_to category.name, category_path(category) %> >>
<%= @post.title %>
<% elsif @category.present?
parent = @category.parent
%>
<% if parent.present? %>
<%= link_to parent.name, category_path(parent) %> >>
<%end %>
<%= @category.name %>
<% end %>
</div>
Ниже находится /app/views/layouts/application.html.erb
<!DOCTYPE html>
<html>
<head>
<title>Marketplace</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag 'application', media: 'all' %>
<%= javascript_pack_tag 'application' %>
</head>
<body>
<div class="header" >
<%= render "layouts/breadcrumb_nav" %>
</div>
<p class="notice"><%= notice %></p>
<!-- divs for the menu -->
<div class="main">
<div class="main-left">
<p><strong><%= link_to "Marketplace", root_path %></strong></p>
<!-- Hides the Create a New Post menu once the user leaves the home page -->
<p><%= link_to "Create a New Post", new_post_path %></p>
<!-- User login - devise gem-->
<p><%= link_to "User Login", new_account_session_path unless account_signed_in? %></p>
<!-- load in categories if the user on a category page, only loads if the categories controller is being used -->
<%= render "categories/category_sidebar" if controller.controller_name == "categories" %>
<% if is_home? %>
<div class="nav-pages">
<p><%= link_to "faqs, help", faqs_path %></p>
<p><%= link_to "learn more about marketplace", about_path %></p>
<p><%= link_to "avoid scams, fraud, safety tips", fraud_path %></p>
<p><%= link_to "terms of use", terms_path %></p>
</div>
<% end %>
</div>
<div class="main-right">
<%= yield %>
</div>
</div>
</body>
</html>
Ниже приведен /app/models/post.rb
class Post < ApplicationRecord
# Setting up the relationship in the DB
belongs_to :parent, class_name: "Category", optional: true
has_many :subcategories, class_name: "Category", foreign_key: :parent_id, dependent: :destroy
has_many :posts
end
У меня есть немного знаний о Java и Ruby в Rails убивает меня, и я надеюсь, что вы можете помочь мне out.
Большое спасибо Ричард