ActiveRecord::InvalidForeignKey in ArticlesController#destroy
SQLite3::ConstraintException: FOREIGN KEY constraint failed: DELETE FROM "articles" WHERE "articles"."id" = ?
私はブログアプリケーションを作成していますが、コメントを含む記事を削除しようとするたびにこのエラーが発生します。どうすれば修正できますか?Rails ActiveRecord :: ArticlesController内のInvalidForeignKey
投稿するコードを教えてください。質問を更新します。
記事コントローラ:
class ArticlesController < ApplicationController
def new
@article = Article.new
end
def index
#@articles = Article.all
@articles = Article.paginate(:page => params[:page], :per_page => 10)
end
def show
@article = Article.find(params[:id])
end
def create
@article = Article.new(article_params)
@article.save
redirect_to @article
end
def edit
@article = Article.find(params[:id])
end
def update
@article = Article.find(params[:id])
if @article.update(article_params)
redirect_to @article
else
render 'edit'
end
end
def destroy
@article = Article.find(params[:id])
@article.destroy
redirect_to articles_path
end
end
private
def article_params
params.require(:article).permit(:title, :text, :datee)
end
記事モデル:
class Article < ApplicationRecord
has_many :comments
has_many :photos
end
コメントモデル:
class Comment < ApplicationRecord
belongs_to :article
end
UPDATE
今、私はあなたがすべての関連Comment
もこのように、削除されるので、dependent: :delete_all
Article
でモデルを定義することができ、この問題を回避するには、新しいエラー
ArgumentError in ArticlesController#destroy
Unknown key: :dependant. Valid keys are: :class_name, :anonymous_class, :foreign_key, :validate, :autosave, :table_name, :before_add, :after_add, :before_remove, :after_remove, :extend, :primary_key, :dependent, :as, :through, :source, :source_type, :inverse_of, :counter_cache, :join_table, :foreign_type, :index_errors
ありがとうございますが、私は新しいエラーがあります – bockdavidson
@bockdavidson申し訳ありませんが、私は誤植がありました。更新された回答を確認してください(依存する必要はありません)。 – Gerry
それは働いた!どうもありがとうございます! – bockdavidson