这个插件让我们给使用它的当前class添加一个使用MD5生成的token
class Invitation < ActiveRecord::Base
include TokenGenerator
before_create :set_token
end
class ImperialInvitation < ActiveRecord::Base
include TokenGenerator
before_create :set_token
private
def set_token
self.token = generate_token { |token| complies_to_imperial_standards?(token) }
end
end
源码也很简单,token_generator.rb:
module TokenGenerator
def generate_token(size = 12, &validity)
begin
token = Digest::MD5.hexdigest("#{inspect}#{Time.now}").first(size)
end while !validity.call(token) if block_given?
token
end
def set_token
self.token = generate_token { |token| self.class.find_by_token(token).nil? }
end
end
分享到:
相关推荐
本课程聚焦于如何利用Ruby on Rails 6构建一个API,并通过devise_token_auth实现身份验证。下面我们将深入探讨相关知识点。 首先,Ruby on Rails 6是这个项目的基石,它是一个基于Ruby语言的开源Web应用程序框架,...
这篇博文将讨论如何使用`sitemap_generator` gem在Rails应用中实现这一功能。 首先,让我们了解什么是Sitemap。Sitemap是一个XML文件,它列出了网站的所有页面,包括URL、更新频率和页面重要性等信息。这有助于搜索...
标题中的“rails_grape_auth”是一个专门为Rails应用设计的组件,用于实现身份验证功能,它与“devise_token_auth”和“grape_devise_token_auth”这两个库相结合,提供了RESTful API的身份验证解决方案。...
《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...
rails_apps_composer, 一个 gem,为 Rails 启动应用程序创建 Rails 应用程序模板 Rails 应用编辑器 Rails 应用程序编辑器 gem 安装一个 命令行 工具来从"食谱"的Collection 组装 Rails 应用程序。"你可以使用 rails_...
介绍插件,用于对记录进行排序(使用 gem)安装要启用rails_admin_acts_as_list,请将以下内容添加到您的Gemfile : gem 'rails_admin_acts_as_list'gem 'rails_admin' 重要提示: rails_admin_acts_as_list之前必须...
Api-simple_token_authentication.zip,rails应用程序或api的简单(但安全)令牌身份验证,一个api可以被认为是多个软件设备之间通信的指导手册。例如,api可用于web应用程序之间的数据库通信。通过提取实现并将数据...
Api-rails5_api_tutorial.zip,了解如何在michael hartl的rails 5教程上构建一个现代api立即在rails应用程序中构建一个api!(Rails 5版本),一个api可以被认为是多个软件设备之间通信的指导手册。例如,api可用于web...
rails_semantic_logger, Rails 语义记录器用语义记录器替换 Rails 缺省记录器 Rails 语义记录器 语义记录器用语义记录器替代 Rails 缺省记录器。http://github.com/rocketjob/rails_semantic_logger文档有关完整文档...
"inspinia admin - v2.5 Rails_Full_Version" 是一个基于Rails框架构建的后台管理系统的完整版本。这个系统采用流行的Inspinia Admin模板,提供了丰富的功能和自定义选项,旨在帮助开发者快速构建高效、现代且用户...
`devise_token_auth` gem 是 Ruby 社区中一个广泛使用的解决方案,尤其在Rails框架下。这个标题为 "devise_token_auth_demo" 的项目是一个小型演示应用,旨在展示如何在Rails应用中集成令牌身份验证。下面将详细阐述...
"Rails Open Flash Chart" 是一个基于Ruby on Rails框架的库,用于在Web应用程序中生成交互式的Flash图表。这个库允许开发者轻松地创建各种统计图表,如折线图、柱状图、饼图等,以便更好地可视化数据。由于Flash在...
在Rails_Full_Version压缩包中,包含了完整的源代码和必要的资源文件,开发者可以通过解压并导入到Rails项目中,按照官方文档进行配置和定制。同时,这个版本可能还包含了升级记录、更改日志和可能的bug修复,以保证...
本资料“RestFul_Rails_Dev_pdf_v_0.1.zip”包含了《RESTful Rails Development》的翻译版,将深入探讨如何在Rails中实现RESTful的设计模式。 首先,RESTful设计的核心概念是资源(Resources)。在Rails中,资源...
Thinking Sphinx 是一个为 Rails 应用程序提供全文搜索功能的插件,它将数据库中的数据与 Sphinx 搜索引擎紧密结合,提供高效且高度定制化的搜索体验。 在 Rails3 中集成 Thinking Sphinx,首先你需要确保你的系统...
Rails_3_Cheat_Sheets.pdf
《敏捷Web开发与Rails》第三版是一本深入探讨Ruby on Rails框架在敏捷软件开发方法论下的应用指南。本书由多位知名作者共同编写,包括Sam Ruby、Dave Thomas、David Heinemeier Hansson等,他们都是在Ruby社区内享有...
rails generate crud_generator2 ModelName ``` 这里的`ModelName`是你需要创建的模型名称。这个命令将会生成相应的模型文件、控制器文件、视图文件以及数据库迁移文件。 **4. 自定义生成的代码** 虽然CRUD ...
Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zipRuby_on_Rails_rails.zip Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zip Ruby_on_Rails_rails.zipRuby_on_...
rails_best_practices rails_best_practices是用于检查Rails代码质量的代码度量工具。 它支持以下ORM / ODM: 活动记录 蒙古型 mongomapper 以及以下模板引擎: erb 哈姆 减肥 拉布尔 rails_best_practices...