Использование одной модели для нескольких таблиц

Мне интересно, можно ли объединить столбцы из разных таблиц и использовать их как одну модель в Rails. У меня есть две таблицы ниже, одна содержит общие столбцы и другие специальные столбцы.

posts
--------------
id
title
description
created_at
updated_at

jobs
--------------
post_id
category_id
job_type
duration
salary

В модели Rails

class Job < ActiveRecord::Base
#
end

При сохранении модели Job должны сохраняться столбцы в соответствующих таблицах. Я думал об использовании наследования одной таблицы (STI), но похоже, что с таким подходом я не могу разделить столбцы в нескольких таблицах.


person Firoz Ansari    schedule 23.04.2012    source источник


Ответы (1)


Здравствуйте, вам просто нужно использовать accepts_nested_attributes_for, затем вы можете заполнить столбец post при сохранении jobs с помощью клавиши posts_attributes.

Добавление сообщений в вакансию

job[posts_attributes] = [{ :title => "test", :description => "Lorem ipsum"}]

Удаление сообщений с работы

job[posts_attributes = [{ :id:20, :_destroy => true}]

Надеюсь, это поможет вам ;)

person Tronix117    schedule 23.04.2012
comment
Спасибо Троникс117. Это именно то, что я искал. - person Firoz Ansari; 24.04.2012