Я искал по всему Интернету ответ на этот вопрос в течение последних трех часов, поэтому я собираюсь задать вопрос. Я пытаюсь создать базовое программное обеспечение для форума, но у меня возникают проблемы с моими отношениями. Это ошибка, я получаюRails 4 Ассоциации: неопределенный метод
undefined method `forums' for # <ActiveRecord::Relation::ActiveRecord_Relation_Category:0x3706cb0>
мой категории/индексный файл
<% for category in @category %>
<div class="panel panel-success">
<div class="panel-heading">
<h3 class="panel-title"><%= link_to category.name, category_path(category.id) %></h3>
<h4><%= category.description %> </h4>
</div>
<% for forum in @category.forums %>
<div class="panel-body">
<h4><span class="glyphicon glyphicon-tree-conifer"></span><%= link_to forum.name, forum_path(forum.id) %> </h4>
</div>
<hr />
<% end %>
</div>
<% end %>
Категории Контроллер
class CategoriesController < ApplicationController
def index
@category = Category.all
end
def show
@category = Category.find(params[:id])
end
end
форум контроллер
class ForumsController < ApplicationController
def show
@forum = Forum.find(params[:id])
end
end
категория модели
class Category < ActiveRecord::Base
has_many :forums, dependent: :destroy
end
форум модель
class Forum < ActiveRecord::Base
belongs_to :category
has_many :threads, dependent: :destroy
end
и мои маршруты
ForumName::Application.routes.draw do
root 'static_pages#home'
resources :users
resources :sessions, only: [:new, :create, :destroy]
resources :categories, :path => "forum"
resources :forums
resources :topics
resources :posts
match '/signup', to: 'users#new', via: 'get'
match '/signin', to: 'sessions#new', via: 'get'
match '/signout', to: 'sessions#destroy', via: 'delete'
end
Надеюсь, я предоставил достаточно информации, если что-нибудь еще требуется, я буду обновлять этот пост. Обычно я могу работать с этим, используя Google, но это действительно меня озадачивает. Спасибо заранее.
Большое вам спасибо! Я использовал категории в своем контроллере, прежде чем не знаю, почему я его изменил. Так что моя проблема все время писала @ category.forums. –