J'ai un problème lors de l'ajout de catégories à l'article dans mon formulaire simple. Les catégories apparaissent dans le formulaire simple_for mais le category_id n'est pas attribué à l'article lors de sa création! (params?)Problème Ajout d'une catégorie à l'article dans les rails
Tx pour votre aide!
J'ai créé deux modèles
class Category < ApplicationRecord
has_many :articles
end
class Article < ApplicationRecord
belongs_to :category
has_attachments :photos, maximum: 2
end
et une clé étrangère entre les
create_table "articles", force: :cascade do |t|
t.string "title"
t.text "body"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "card_summary"
t.text "summary"
t.integer "category_id"
t.index ["category_id"], name: "index_articles_on_category_id", using: :btree
end
Le contrôleur Articles pour créer un article
def new
@article = Article.new
end
def create
@article = Article.new(article_params)
if @article.save
redirect_to article_path(@article)
else
render :new
end
end
private
def article_params
params.require(:article).permit(:title, :card_summary, :summary, :body, photos: [])
end
et simple_form_for où je f .association (qui montre correctement les différentes catégories)Je pense que mon DB est correct car je peux attribuer une catégorie à un article avec la console, mais je suis coincé sous cette forme. Toute aide serait très appréciée. Thx Edouard
EDIT
Voici ma migration. Quelque chose ne va pas?
class AddCategoryReferenceToArticles < ActiveRecord::Migration[5.0]
def change
add_reference :articles, :category, foreign_key: true, index: true
end
end
est pas dans votre params '.permit (: titre,: card_summary,: résumé,: le corps, les photos: []', ni Dans votre formulaire, mais dans votre migration apparaît 'category_id' –
Voici ma migration – Edouard