Свяжите новую модель Authlogic с существующими моделями

Играя с Rails (так как я новичок), читая книгу Agile Rails, я столкнулся с проблемой использования Gem Authlogic, которую я не знаю, как решить.

У меня простая бизнес-модель. В таблицах хранится следующая информация: имя, адрес, широта и долгота.

Вышеупомянутый подход работает нормально, потому что с помощью консоли я могу ввести информацию, и она появится там, где мне нужно.

Теперь моя проблема в том, что я хочу добавить к нему аутентификацию. Например, назначьте эти записи в таблице отдельным учетным записям. Можно ли это сделать, поскольку Authlogic - это жемчужина аутентификации?

Я пытаюсь понять, что ввожу несколько записей и оставляю все как есть. Через несколько дней я хочу назначить эти отдельные строки в таблице для модели authlogic, чтобы человек, которому должна принадлежать запись, мог аутентифицироваться в ней и вносить изменения.

Любые образцы кода, сообщения в блогах, которые помогут мне лучше понять, были бы замечательными!

Спасибо.


person BriteLite    schedule 05.03.2010    source источник


Ответы (1)


Authlogic создаст модель под названием пользователи. Допустим, ваша модель называется person. Вы добавляете поле user_id в свою модель лиц и связываете их по ассоциации:

class Person own_to: конец пользователя

class User has_one: конец лица

person user258980    schedule 05.03.2010
comment
Спасибо за ответ. Используя ассоциацию, я предполагаю, что смогу войти в систему с помощью контроллера UserSession без каких-либо проблем. Верный ли я путь? Пример сценария: модель Persons имеет поле с именем name, используя UserSession Controller, я должен иметь возможность войти в систему и изменить это поле имени для любого пользователя, к которому я вхожу, правильно? В очередной раз благодарим за помощь! - person BriteLite; 06.03.2010
comment
Да, в Authologic есть возможность редактирования моей учетной записи, но по умолчанию доступны только поля в модели User. Вам нужно будет добавить поля Person в пользовательский контроллер и представления, чтобы иметь доступ к имени. @ user.person.name - person user258980; 06.03.2010