任何人都有devise_invitable的经验吗?

如何在控制器中添加使用devise_invitable的function。 我想添加其他字段,如message,proeject_id以及邀请,但不知道从哪里开始?

这是devise_invitable: 链接文本

devise_inevitable引擎定义了两个视图文件和一个控制器。 您很可能不需要对它定义的控制器执行任何修改。 向用户发送邀请的表单在此处定义,您将覆盖视图的呈现,如下所示:

#app/views/invitations/new.html.erb <% form_for resource_name, resource, :url=> invitation_path(resource_name) do |f| %>  <% end %> 

包含用户在单击其电子邮件中的链接后完成注册的代码的表单在此处 ,您将覆盖它的呈现,如下所示:

 #app/views/invitations/edit.html.erb <% form_for resource_name, resource, :url=> invitation_path(resource_name), :html=>{:method => :put } do |f| %>  <% end %> 

第一个视图是实际创建资源对象的内容,因此很可能您希望为用户设置消息以查看它们被邀请的项目。 您可能还想覆盖app / views / devise_mailer / invitation.html.erb来更改用户收到的电子邮件。

要覆盖邀请控制器,您需要执行以下操作:

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

设计及其扩展都是Rails引擎,因此请求将首先在app目录中查找适当的控制器/模型/视图/帮助文件,然后在vendor / gems中查找,最后在定义引擎的gem目录中查找。