Кто-нибудь имеет опыт работы с devise_invitable? - PullRequest
1 голос
/ 09 ноября 2010

Как вы можете добавить возможность использовать devise_invitable в контроллере.Я хочу добавить дополнительные поля, такие как сообщение, proeject_id вместе с приглашением, но не знаю, с чего начать?

Вот devise_invitable: текст ссылки

1 Ответ

1 голос
/ 09 ноября 2010

Движок devise_inevitable определяет два файла вида и один контроллер. Вам, скорее всего, не нужно вносить какие-либо изменения в контроллер, который он определяет. Форма, которая отправляет приглашения пользователям, определена здесь , и вы должны переопределить отображение представления следующим образом:

#app/views/invitations/new.html.erb
<% form_for resource_name, resource, :url=> invitation_path(resource_name) do |f| %>
  <!-- Totally sweet new user invitation code goes here -->
<% end %>

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

#app/views/invitations/edit.html.erb
<% form_for resource_name, resource, :url=> invitation_path(resource_name), :html=>{:method => :put } do |f| %>
  <!-- Totally sweet new user registration information goes here. -->
<% end %>

Первое представление - это то, что фактически создаст объект ресурса, так что, скорее всего, вы захотите настроить сообщение для пользователя, чтобы увидеть, к какому проекту они также приглашены. Вы также можете переопределить app / views / devise_mailer / приглашение.html.erb , чтобы изменить сообщение электронной почты, которое получает пользователь.

Чтобы переопределить контроллер приглашений , вам нужно сделать это:

#app/controllers/devise/invitations_controller.rb
class Devise::InvitationsController < ApplicationController
  def create
    #totally rad create stuff here.
  end
end

Devise и его расширения - все движки Rails, поэтому запрос сначала ищет соответствующий файл controller / model / view / helper в каталоге вашего приложения, затем в vendor / gems и, наконец, в каталоге gem, который определяет двигатель.

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