модель активного перекодирования для сложных ассоциаций - PullRequest
0 голосов
/ 23 апреля 2019

У меня есть три таблицы A B C

А может май B

А может май С

И у B есть JSON-файл config

, в котором я должен ссылаться на C по его идентификатору. B belongs to C

например, мне нужно сохранить данные в БД как:

A
id | name
 1 | first_a

B
id | A_id | name      | config
 1 |   1  | first_b   | "{\"c_id\": 2}"
 2 |   1  | second_b  | "{\"c_id\": 1}"
 3 |   1  | third_b   | "{}"

C

 id | A_id | name
  1 |   1  | first_c
  2 |   1  | second_c
  3 |   1  | third_c

Я пытаюсь создать эти записи, используя одну операцию сохранения из A

A.new({
 :name => "first_a",
 :bs_attributes => [
   {:name => "first_b", :c_attributes => {:name => "second_c"}},
   {:name => "first_b", :c_attributes => {:name => "first_c"}},
   {:name => "third_b"}
 ],
 :cs_attributes => [
   {:name => "third_c"}
 ]
}).save!

Я готов к тому, чтобы изменить отображение

предложите любую модель для активных кодов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...