/ /ネストされた属性と階層を使用する - ruby​​-on-rails

ネストされた属性と階層を使用する - ruby​​-on-rails

私は2つのテーブルがあります - Training_Assessments:ID、名前 - 規格:id、name、training_assessment_id、parent_id

そして Model Standards

class Standard < ApplicationRecord
ATTRIBUTE_PARAMS = %i(id name proportion parent_id).freeze

belongs_to :training_assessment

has_closure_tree
end

Model TrainingAssessment

class TrainingAssessment < ApplicationRecord
ATTRIBUTE_PARAMS =
[
:id, :name,
standards_attributes: Standard::ATTRIBUTE_PARAMS
].freeze

has_many :standards, dependent: :destroy

accepts_nested_attributes_for :standards, allow_destroy: true
end

1つの訓練評価には多くの基準がありますが、各標準には親基準のparent_idを持つ多くの子標準があります。私はコンソールで作成しようとしましたが、子供の標準では、トレーニング評価のIDがネストされていません。 だから私はそれをどのようにすることができますか?そしてparamsの構造はどうですか?

回答:

回答№1は0

あなたのモデルでは、ある標準から親基準までの関連が必要です。

belongs_to :parent_standard, foreign_key: :parent_id

次に、委任することができます:

delegate :training_assessment, to: :parent_standard

編集:

closure_tree gemを使う: child.root.training_assessment_id 両親の訓練_assessment_idです