ruby-on-rails – 如何编写Devise扩展(使用自定义数据存储)

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何编写Devise扩展(使用自定义数据存储)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想为Devise写一个扩展,允许您使用 parse_resource作为数据存储区(而不是ActiveRecord). parse_resource是Parse.com的REST api的Ruby包装器.它的界面与ActiveRecord几乎相同,并且是ActiveModel的投诉.因此,Devise的扩展可能不需要太多的非样板.

但是,我找不到任何教程.所有我必须依赖的是其他扩展的来源.从MongoMapper extension起,我总结出两个主要部分:

> The generators(不太需要)

在这里,您覆盖了DeviseGenerator#(generate_model | inject_devise_content | replace_default_devise_orm)方法.
> The “guts“(非常需要)

我不太确定这里发生了什么.似乎有很多样板,有一点自定义类型转换,底部有一个声明,我们将使用这个扩展名,而不是默认的ORM.

那是所有的吗?我失踪了什么有人可以更详细地解释“勇气”中发生的情况吗?

有没有任何简单的棉绒测试来运行,以确保与Devise完全兼容?

解决方法

我认为最好的办法是编写一个用于解析资源的 orm_adapter适配器.这是设计与各种场合整合的真正“胆量”.

其实很简单,包括可以使用的test suite.考虑到parse_resource是activemodel兼容的,适配器应该像克隆一个existing adapter一样简单.

接下来你将需要钩住orm_adapter来设计,这只是这些files之一的克隆.

原文链接:https://www.f2er.com/ruby/272219.html

猜你在找的Ruby相关文章