Я новичок в Rails и работаю над проектом блога.
У меня есть статьи и категории . Каждая статья может иметь несколько категорий , а каждая категория может принадлежать нескольким статьям .
У меня также есть таблица соединений Articles_categories
Мои миграции:
class CreateArticles < ActiveRecord::Migration[5.2]
def change
create_table :articles do |t|
t.string :title
t.text :body
t.timestamps
end
end
end
class CreateCategories < ActiveRecord::Migration[5.2]
def change
create_table :categories do |t|
t.string :name
t.timestamps
end
end
end
class CreateArticlesCategoriesJoinTable < ActiveRecord::Migration[5.2]
def change
create_join_table :articles, :categories do |t|
t.index :article_id
t.index :category_id
end
end
end
Мои модельные ассоциации:
class Article < ApplicationRecord
has_and_belongs_to_many :categories
end
class Category < ApplicationRecord
has_and_belongs_to_many :articles
end
Пока все это имеет смысл.
С чем я сейчас борюсь, как добавить категории при создании новой статьи? Я хочу иметь возможность выбирать предварительно определенные категории из списка (хранится в таблице категорий) через форму.
Какую модель и / или URL (если есть) я использую в помощнике form_with?
Следующее где-нибудь близко?
<% form_with model: ???, url: ??? do |f| %>
<%= f.collection_select :category_id, Category.order(:name), :id, :name %>
<% end %>