rails gem Devise Invitable принять посмотреть вопрос - PullRequest
0 голосов
/ 12 февраля 2011

Я хотел бы получить доступ к информации пользователя в маршруте приглашения / принятия. Когда я иду в форму и использую

<%= resource.name %>

это не будет отображать пользователя. Также кажется, что он не загружает пользователя во время принятия. Есть ли простой способ показать пользователю некоторую информацию о приглашении?

1 Ответ

0 голосов
/ 29 марта 2011

Я могу придумать два варианта:

  1. Вы можете переопределить контроллер invise invitable, см .: Кто-нибудь имеет опыт работы с devise_invitable?

  2. В моем случае я хотел передать имя приглашающего.

    • Я добавляю целочисленный атрибут invitor в класс User. Это идентификатор приглашающего лица. Не забудьте добавить 'invitor' в качестве attr_accessible в модели.
    • У меня уже был строковый атрибут 'name' в классе User.
    • В приложении / views / {users | devise} ​​/invitations/new.html.erb (путь может отличаться в зависимости от того, как вы сгенерировали представления) добавьте скрытое поле формы с зарегистрированным пользователем (invitor):

    ... <% = f.text_field: invitor,: value => current_user.id,: hidden => true%> ...

    • В тексте сообщения электронной почты app / views / {users | devise} ​​/mailer/invitation.html.erb я могу сослаться на приглашающего:

    ... <% = (User.find @ resource.invitor) .name%> пригласил вас на <% = root_url%>, вы можете принять его по ссылке ниже ....

Не так элегантно, но работает. Улучшения, которые переживают обновления драгоценного камня devise_invitable, приветствуются.

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