我正在編寫一個CMS插件,其中我有兩個基本模型 - Category
和Entry
。這個模型中的每一個都與另一個通過has_and_belongs_to_many
關係有關。但我無法弄清楚,我應該如何在他們的控制器和路線中指出這一點。例如,我需要在categories#show
操作中呈現屬於某個類別的所有條目。 下面是型號:找不出兩個模型之間的關係
class Entry < ApplicationRecord
has_and_belongs_to_many :categories
end
class Category < ApplicationRecord
has_and_belongs_to_many :entries
end
這是我categories_controller
:
def show
@category = Category.find(params[:id])
@entries = @category.entries.all
end
和我show.html.erb
模板中:
<% @entries.each do |entry| %>
<%= link_to entry.title, entry_path(entry) %>
<% end %>
和我的路線:
resources :categories do
scope '/:content_class' do
resources :entries
end
end
但是,每次出現錯誤時,數據庫中都沒有categories_entries
關係。我究竟做錯了什麼?
這裏是一個link to the whole project
您是否已經遷移了數據庫? –
我使用STI,一旦我的插件安裝完畢,就不需要進一步遷移 – AlexNikolaev94
爲什麼你有兩個表格的兩個模型呢? –