| 2008-06-09 19:24:32 | Ответить |
|---|---|
|
Junior Адрес: Odessa Сообщений: 76 Регистр: 2007-07-25 его блог 0 сообщ. |
Наследование методов |
|
Добрый день, у меня наверное "ламерский" вопрос, но все таки.
Рельсовый проект, есть две модели Никак не могу добиться что бы метод some_action был доступен объектам класса First. Может кто подскажет как решить эту проблему. |
|
| 2008-06-08 16:45:34 | Ответить |
|---|---|
|
Ruslan Voloshin Адрес: odessa Сообщений: 978 Регистр: 2007-03-13 его блог 28 сообщ. |
RE: Наследование методов |
|
сделай метод обекта класа
|
|
| 2008-06-09 07:20:44 | Ответить |
|---|---|
|
Roman V. Babenko Адрес: Kyiv Сообщений: 128 Регистр: 2008-04-22 его блог 5 сообщ. |
RE: Наследование методов |
| Хм... у меня тоже ламерский вопрос: а зачем так делать вообще ? Я даже не представляю когда это может понадобиться, чтобы две несязанных модели вызывали методы друг-другжки как свои собственные :-) | |
| 2008-06-07 11:52:27 | Ответить |
|---|---|
|
Junior Адрес: Odessa Сообщений: 76 Регистр: 2007-07-25 его блог 0 сообщ. |
RE: Наследование методов |
|
А ситуация такая.
Есть некие методы которые расчитывают параметры зарегеных пользователей. Соответсвенно для них есть своя таблица в БД. Так же можно расчитать часть параметров, для незарегеных пользователей. Для них отдельная таблица. Соответсвенно, когда делаю объект "незарегенного пользователя", хотелось бы использовать уже существующие методы класса "зарегеный пользователь". |
|
| 2008-06-08 15:54:51 | Ответить |
|---|---|
|
Ruslan Voloshin Адрес: odessa Сообщений: 978 Регистр: 2007-03-13 его блог 28 сообщ. |
RE: Наследование методов |
|
мне кажется ты не правильно решаешь задачу
навернео это можно сделать через attr_acc атибут аксесор |
|
| 2008-06-06 03:01:41 | Ответить |
|---|---|
|
Junior Адрес: Odessa Сообщений: 76 Регистр: 2007-07-25 его блог 0 сообщ. |
RE: Наследование методов |
|
Чуть подробней опишу задачу, может я действительно не в том направлении пошел.
Есть две разные таблицы, допустим User Preuser, соотвествено есть две модели и некий контроллер. Я не совсем понимаю как это реализовать с помощью attr_accessor. И как идеологически правильно построить взаимодействие. |
|
| 2008-06-08 10:16:50 | Ответить |
|---|---|
|
Ruslan Voloshin Адрес: odessa Сообщений: 978 Регистр: 2007-03-13 его блог 28 сообщ. |
RE: RE: Наследование методов |
|
думаю тебе надо сделать файл модуля положить его в папку lib
и проинклудить его в тех моделях где надо получить доступ к методам и все таким образом ты сможешь зашарить все методы в любых моделях |
|
| ActiveRecord extends |
| 2008-06-09 23:51:31 | Ответить |
|---|---|
|
Junior Адрес: Odessa Сообщений: 76 Регистр: 2007-07-25 его блог 0 сообщ. |
RE: Наследование методов |
| Спасибо большое за совет. | |
| 2008-06-09 07:58:58 | Ответить |
|---|---|
|
Roman V. Babenko Адрес: Kyiv Сообщений: 128 Регистр: 2008-04-22 его блог 5 сообщ. |
RE: RE: Наследование методов |
|
Вообщето можно решить такой вопрос наследованием. User: RegisterUser и Anonimus.
Но можно и композицей как уже сказал Руслан. Тоесть через подмешивание необходимой функциональности из модуля. Если различие между зарегенными пользователями и анонимусами незначительные то подходит первый вариант, а иначе второй. Наследование желательно использоватья в случаях когда можно сказать, что производная сущность _являеться_ родительской. В случае если более уместна ситуация: _ведет себя как_ то используется композиция. По сути подмешивание выполняет роль есть интерфейса для создание горизонтальных связей в системе. |
|
| 2008-06-08 09:54:31 | Ответить |
|---|---|
|
Junior Адрес: Odessa Сообщений: 76 Регистр: 2007-07-25 его блог 0 сообщ. |
RE: Наследование методов |
| Я воспользовался советом Руслана. При наследовании у меня возникли проблемы с самими объектами. | |
| 2008-06-08 23:55:44 | Ответить |
|---|---|
|
Ruslan Voloshin Адрес: odessa Сообщений: 978 Регистр: 2007-03-13 его блог 28 сообщ. |
RE: RE: Наследование методов |
|
так что у тебя за проблемы возникли ???
приведи код своего модуля |
|
| 2008-06-09 01:59:03 | Ответить |
|---|---|
|
Junior Адрес: Odessa Сообщений: 76 Регистр: 2007-07-25 его блог 0 сообщ. |
RE: Наследование методов |
|
Сейчас проблем нет, ты посоветовал как раз то что мне надо было. А когда я использовал наследование, делал примерно так:
у меня сразу вознили конфликты в валидацией, у объекта First проверялись все поля Second, а они присутсвовали не все в данном объекте. Пришлось отказаться от наследования. |
|