полиморфные активные записи в рельсах? - PullRequest
0 голосов
/ 02 марта 2010

Привет, поэтому у меня есть список «областей», которые являются просто областями моего сайта. Я хочу иметь возможность вставить их в базу данных и сказать, что это за область, это может быть имя модели, которая наследуется от базовой области. Таким образом, я могу написать универсальный контроллер, который использует разные представления и другую логику из загруженной модели, чтобы решить, как должна действовать страница.

Проблема в том, что я понятия не имею, как это сделать, так как я новичок в рельсах. Есть какие-нибудь указатели? (или любой, кто скажет «не делай так! делай так!», тоже будет очень признателен)

Спасибо

Ответы [ 2 ]

0 голосов
/ 04 марта 2010

Вы хотите создать столбец с именем: type

Rails будет автоматически использовать столбец типа для определения класса дочернего класса.

Тогда вы можете сделать что-то вроде:

class Area < ActiveRecord::Base

end

class UserPage < Area

end

Итак, когда вы делаете

UserPage.create( :key => 'value')

Это создаст запись в таблице областей с полем типа, установленным на UserPage.

0 голосов
/ 03 марта 2010

Я только что нашел наследование одной таблицы. Похоже, это решит мою проблему

для получения дополнительной информации читайте здесь:

http://juixe.com/techknow/index.php/2006/06/03/rails-single-table-inheritance/

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