У меня есть следующие 3 модели:
class Post < ApplicationRecord
belongs_to :site
has_one :metric, dependent: :destroy
end
class Metric < ApplicationRecord
belongs_to :post
has_many :insight_key_phrases, dependent: :destroy
end
class InsightKeyPhrase < ApplicationRecord
belongs_to :metric
end
И я пытаюсь создать задание cron, которое выполняется каждую минуту, захватывать все сообщения без метрик и, ну ... вычислять метрики:
class AnalysisJob < ApplicationJob
def make_analyses(posts)
posts.each do |p|
begin
metric = post.create_metric
# I can't create the metric.insight_key_phrases here
rescue
metric.destroy!
end
end
end
Я застрял. post.create_metric
создает метрику, но я не могу получить доступ к metric.insight_key_phrases
:
ActiveRecord::StatementInvalid (Mysql2::Error: Unknown column 'insight_key_phrases.metric_id' in 'where clause')
И если я попытаюсь уничтожить metric
, возникнет та же ошибка:
ActiveRecord::StatementInvalid (Mysql2::Error: Unknown column 'insight_key_phrases.metric_id' in 'where clause')
Очевидно, что я совершаю ошибку или что-то неправильно понимаю, я просто не знаю, что.