Я работаю над новым проектом.Моя структура данных: -Аудиты -Действия-Ответы
Аудит состоит из действий.Каждое действие имеет один ответ.Каждый ответ связан с действием и аудитом.
Аудит
class Audit < ApplicationRecord
belongs_to :entreprise
has_many :reponse
has_many :action, through: :reponse
validates :numero, presence: true, uniqueness: true
end
Действие
class Action < ApplicationRecord
has_one :reponse
has_many :audits, through: :reponse
validates :numero, :titre, presence: true, uniqueness: true
validates :description, :kpi, :priority, :scale, :effectSocial, :effectEnvironmental, :effectFinancial, :impactCC, :impactD, :impactE, :impactRNN, presence: true
end
Ответ
class Reponse < ApplicationRecord
belongs_to :audit
belongs_to :action
end
Я думаю, что я довольно близок, но когда я запускаю rails console
, добавьте некоторые данные и попробуйте добавить ответ с:
Action.first.create_reponse(etat: "fine", kpi: 2, commentaire: "")
Я получил это:
Action Load (2.0ms) SELECT "actions".* FROM "actions" ORDER BY "actions"."id" ASC LIMIT ? [["LIMIT", 1]]
(0.5ms) begin transaction
(0.1ms) rollback transaction
Reponse Load (0.2ms) SELECT "reponses".* FROM "reponses" WHERE "reponses"."action_id" = ? LIMIT ? [["action_id", 1], ["LIMIT", 1]]
=> #<Reponse id: nil, commentaire: "", etat: "fine", kpi: 2, created_at: nil, updated_at: nil, action_id: 1, audit_id: nil> ```