`

rails 插件 acts_as_inviteable 邀请机制简介

阅读更多
这里是一个邀请的demo

安装可以按照插件形式安装

script/plugin install git://github.com/vigetlabs/acts_as_inviteable.git


生成相应代码

script/generate invitations_for User


实际会生成:

map.resource :invitation, :only => [:new, :create]
map.signup   '/signup/:invite_code', :controller => 'users', :action => 'new'


这时应该跑升级数据库结构:

rake db:migrate



如果本身没有User的模块,需要代参数生成该模块


script/generate invitations_for --create-user-model User




同时,默认的用户邀请数是每用户可以邀请5人,这个可以定制如下:

acts_as_inviteable :default_invitation_limit => 20



插件同时提供:
引用


On the Invite Model:
Validates necessary attributes on the Invitation, including email address format.
Makes sure an invite hasn't already been sent to the recipient_email by validating it's uniqueness.
Makes sure the recipient's email isn't already in the User's table.
Makes sure the user has at least one invite left to give.
Automatically decrements the User's invitation_limit when an invite they created is saved.
Automatically sends an email to the recipient after the Invitation is saved.
A named_scope called by_created_at
A named_scope called unaccepted which finds all the invites that don't have users with a match for their recipient_email.
Sets up ActiveRecord relationships for both the sender and the recipient.
Has a accepted? instance method to test if the invite has been accepted or not.

On the Inviteable Model (User):
Sets the invitation_limit on create
Requires that the user have a valid invitation_code attribute or have the invite_not_needed attribute set to true.
Automatically set the Users email address to the recipient_email field on the invite.
Has an ActiveRecord relationship for sent_invitations, invites sent by the user.



分享到:
评论

相关推荐

    acts_as_authenticated

    "acts_as_authenticated" 是一个经典的Ruby on Rails插件,它为Rails应用提供了用户认证功能。在Rails框架中,用户认证通常涉及验证用户身份、管理会话以及处理登录和登出等操作。acts_as_authenticated插件简化了这...

    rails_admin_acts_as_list:rails_admin插件以对记录进行排序

    介绍插件,用于对记录进行排序(使用 gem)安装要启用rails_admin_acts_as_list,请将以下内容添加到您的Gemfile : gem 'rails_admin_acts_as_list'gem 'rails_admin' 重要提示: rails_admin_acts_as_list之前必须...

    acts_as_paranoid

    "acts_as_paranoid" 提供了一种机制,使得我们能够在不实际删除数据的情况下,从应用程序的逻辑中“删除”它们,即标记为已删除,而不是物理删除。 在Rails应用中,当模型包含`acts_as_paranoid`这一行为后,系统会...

    用acts_as_rateable实现简单的打分功能

    在Ruby on Rails框架中,`acts_as_rateable`是一个非常实用的插件,它允许用户对模型进行评分,从而实现简单的打分功能。这个插件是Rails社区中的一个开源项目,旨在简化应用中的评分系统集成。在本篇讨论中,我们将...

    acts_as_category:想想acts_as_tree +权限

    #ActsAsCategory acts_as_category (Version 2.0 beta)acts_as_category,是acts_as插件在acts_as_tree风格的Ruby on Rails的ActiveRecord的模式,但有一些额外的功能,以及多种便捷视图助手。例子(有关实例方法和...

    acts_as_nested_set的增强版BetterNestedSet

    acts_as_nested_set是Rails社区中广泛使用的Nested Set库,而BetterNestedSet则是它的增强版,提供了更多功能和优化。本文将深入探讨BetterNestedSet的原理、用法以及相较于acts_as_nested_set的优势。 1. Nested ...

    acts_as_paranoid:ActiveRecord插件可让您隐藏和还原记录,而无需实际删除它们

    使徒行传 一个Rails插件来添加软删除。...用法安装gem: gem 'acts_as_paranoid' , '~> 0.7.0' bundle install创建迁移bin/rails generate migration AddDeletedAtToParanoiac deleted_at:datetime:index启用ActsAs

    actions_as_commentable:ActiveRecord acts_as_commentable插件

    gem 'acts_as_commentable' Rails gem 'acts_as_commentable' , '3.0.1' Rails gem 'acts_as_commentable' , git: 'git@github.com:jackdempsey/acts_as_commentable.git' , branch: '2.x' 生成器 Rails 3+ ...

    acts_as_liked:向任何 Active Record 模型添加类似功能

    $ rails generate acts_as_liked 并且不要忘记迁移您的数据库 $ rake db:migrate 用法 可爱的模特 将acts_as_likeable添加到任何模型,它的实例可以被其他模型喜欢。 class Post < ActiveRecord :: Base ...

    acts_as_commentable_with_threading:类似于acts_as_commentable; 然而,利用 awesome_nested_set 提供线程评论

    作为可评论行为(现在有评论线程(TM)!!!——在(TM)上开玩笑) 允许将线程注释添加到多个不同的模型。 与acts_as_commentable 兼容(但需要更改数据库架构) ... rails generate acts_as_commentable_with_

    rails_plugins_presentation.pdf

    通过本文对Rails插件的深入解析,我们不仅了解了如何安装和管理插件,还具体介绍了几个实用的插件,包括tabnav、acts_as_authenticated、file_column和acts_as_state_machine,这些插件涵盖了导航、用户认证、文件...

    acts_as_aliased:扩展 ActiveRecord

    rails generate acts_as_aliased:install rake db:migrate 这将创建一个新表aliases 。 用法 假设您有一个需要别名的模型Company ,因为公司名称有不同的版本。 使用acts_as_aliased在模型中启用别名: model ...

    acts_as_restful_list:就像acts_as_list一样,但很安静

    acts_as_restful_list 就像acts_as_list 一样,但不必使用非标准方法调用(如insert_at)来弄乱您的代码,acts_as_restful_list 使管理列表变得简单。 您可以像更新其他任何内容一样更新 position 属性,其余的都...

    acts_as_xapian:Xapian全文搜索插件,适用于Ruby on Rails

    《acts_as_xapian:为Ruby on Rails打造的Xapian全文搜索引擎插件》 在Web开发领域,全文搜索引擎能够极大地提升用户对信息的检索效率,对于内容丰富的应用尤其重要。Ruby on Rails作为流行的Web框架,有着众多的...

    Api-acts_as_api.zip

    Api-acts_as_api.zip,使在rails中创建api响应变得简单和有趣,一个api可以被认为是多个软件设备之间通信的指导手册。例如,api可用于web应用程序之间的数据库通信。通过提取实现并将数据放弃到对象中,api简化了编程...

    inspinia admin - v2.5 Rails_Full_Version

    "inspinia admin - v2.5 Rails_Full_Version" 是一个基于Rails框架构建的后台管理系统的完整版本。这个系统采用流行的Inspinia Admin模板,提供了丰富的功能和自定义选项,旨在帮助开发者快速构建高效、现代且用户...

    rails_semantic_logger, Rails 语义记录器用语义记录器替换 Rails 缺省记录器.zip

    rails_semantic_logger, Rails 语义记录器用语义记录器替换 Rails 缺省记录器 Rails 语义记录器 语义记录器用语义记录器替代 Rails 缺省记录器。http://github.com/rocketjob/rails_semantic_logger文档有关完整文档...

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板.zip

    rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的Collection 组装 Rails 应用程序。"你可以使用 rails_...

    acts_as_favoritable:该插件提供了一种跟踪用户收藏夹的简单方法

    $ rails generate acts_as_favoritable:migration $ rake db:migrate 用法 有利模式 贡献 叉它 创建功能分支( git checkout -b my-new-feature ) 提交更改( git commit -am 'Add some feature' ) 推送到分支...

    用于过滤英文脏话的 Rails 插件 gem_Ruby_代码_相关文件_下载

    标题提到的"用于过滤英文脏话的 Rails 插件 gem"正是为了解决这个问题。这个插件允许开发者通过简单的配置,对输入的文本进行检查和替换,确保网站内容的清洁度和专业性。 这个插件名为`profanity_filter`,它是一...

Global site tag (gtag.js) - Google Analytics