Создание сайта с рельсами и нуждается в руководстве с профилем пользователя и разработки - PullRequest
0 голосов
/ 04 февраля 2012

Я пытаюсь создать приложение для rails. Я новичок в этом, так что просто играю.

Пока что я настроил систему аутентификации. который создал модель пользователя. У меня есть страничная модель и контроллер. Теперь мне интересно, как я могу создать профиль пользователя?

Кроме того, как я могу получить значения, такие как имя пользователя, адрес электронной почты и прочее? Что я должен генерировать? Пользовательский контроллер или если я сгенерирую модель UserProfile, то как я могу получить значения, такие как электронная почта пользователя, когда пользователь регистрируется с помощью devise.

1 Ответ

0 голосов
/ 04 февраля 2012

Вы можете добавить все необходимые поля в модель, сгенерированные devise (например, Пользователь). Если вы хотите сохранить все данные в отдельной модели (UserProfile), вам нужно создать ассоциацию has_one / assign_to:

class User < ActiveRecord::Base
    has_one :user_profile
    # ... Some other stuff here
end

class UserProfile < ActiveRecord::Base
   belongs_to :user
   # ... 
end

Чтобы получить электронную почту для UserProfile, вы можете:

profile = UserProfile.first
email = profile.user.email

Чтобы получить UserProfile от объекта User:

user = User.first
profile = user.user_profile

Чтобы сохранить информацию об авторе страницы, вы должны использовать ассоциацию has_many / assign_to:

    class User < ActiveRecord::Base
        has_many :pages
        # ... Some other stuff here
    end

    class Page < ActiveRecord::Base
        belongs_to :user
        # ... Some other stuff here
    end

В некоторых видах модели страницы вы можете отобразить автора следующим образом:

Page author is <%= @page.user.user_profile.name %>

Или, если вы решили добавить поля непосредственно в модель пользователя

Page author is <%= @page.user.name %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...