2017-03-23 4 views
0

ネストされた属性の子レコードは削除できません。 Article_seriesの記事はモデルです。 コードは次のとおりです。ネストされた属性を削除することはできません子レコード

モデル

class Article < ApplicationRecord 
    has_many :articles_article_series 
    has_many :article_series, through: :articles_article_series 

    accepts_nested_attributes_for :articles_article_series, allow_destroy: true, reject_if: proc { |attributes| attributes['article_id'].blank? && attributes['series_id'].blank? && attributes['num'].blank? } 

コントローラ

def update 
    @article = Article.find(params[:article][:id]) 
    # article_series delete 
    @article.articles_article_series.each do |series| 
     series.mark_for_destruction 
    end 
    @article.save 

誰も私になぜ&方法を教えていますか?

+0

あなたが本当にレコードを削除するか、単に「mark_for_destruction」 – chaitanya

+0

私は本当にレコードを削除したいしたいです。しかし、 '@ article.save'の後ではうまくいかないようです。 –

答えて

0

は、私はあなたがそれだけのアレイ作品「mark_for_destruction」のように見えます has_many :articles_article_series, dependent: :destroy

+0

ありがとうございます。残念ながら、うまくいきませんでした。私は親レコードではなく子レコードを削除したいだけです。 –

+0

いくつかの追加情報を提供することができますか、達成しようとしている課題のもう少し具体性はありますか?私はより多くの情報をさらに援助したいです。 – Wasik

+0

素晴らしい!しかし、どういうわけか私は最終的にそれを修正する方法を見つけました。私は私の答えを更新します。 –

0

を探している可能性がありと信じています。

@article.articles_article_series.to_a.first.mark_for_destruction 

以前は以下のようにしました。修正する方法を見つけることはとても難しいです。すべての貢献のための

@article.articles_article_series.first.mark_for_destruction 

感謝:)

関連する問題