Движок 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, который определяет двигатель.