2015-05-25 2 views
3

Это может быть глупый вопрос, но это немного испортило мне голову ...Rails - возможно ли иметь ярлык внутри модели для вложенных атрибутов?

Итак .. У меня есть 2 модели: (1) пользователь и (2) профиль. Профиль связан с пользователем посредством следующих соотношений:

(1) user has_one :profile 
(2) profile belongs_to user 

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

"user.profile.name" 

возможно создать «виртуальный» атрибут в модели пользователя, ссылки на этот атрибут в модели профиля? Я хотел бы назвать «user.profile.name» через «user.name».

ответ

3

Да, есть: delegate

class User < ... 
    delegate :name, to: :profile 

    # The rest of your class 
end 

Это подвергнет name метод из класса профиля к классу пользователя

Смежные вопросы