gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 06:39:41 25 4
gpt4 key购买 nike

我想为 Devise 编写一个扩展,允许您使用 parse_resource作为数据存储(与 ActiveRecord 相反)。 parse_resource 是 Parse.com 的 REST api 的 Ruby 包装器。它的界面与 ActiveRecord 的界面几乎相同,并且是 ActiveModel 的提示。因此,Devise 的扩展似乎可能不需要太多非样板文件。

但是,我找不到任何教程。我必须依赖的是其他扩展的来源。来自MongoMapper extension , 我认为有两个主要部分:

  1. The generators (不是很需要)

    在这里你覆盖了 DeviseGenerator#(generate_model|inject_devise_content|replace_default_devise_orm) 方法。

  2. The "guts "(非常需要)

    我不太确定这里发生了什么。似乎有很多样板文件,带有一些自定义类型转换,并且在底部有一个声明,表明我们将使用此扩展而不是默认的 ORM。

仅此而已吗?我错过了什么?有人可以更详细地解释一下“胆量”中发生了什么吗?

是否有任何简单的 lint 测试可以运行以确保与 Devise 完全兼容?

最佳答案

我认为最好的方法是写一个 orm_adapter解析资源的适配器。它是 devise 与各种 orms 集成的真正“胆量”。

它实际上非常简单,包括一个 test suite您可以使用。考虑到 parse_resource 是 activemodel 兼容的,适配器应该像克隆 existing adapter 一样简单。 .

接下来您需要 Hook orm_adapter 来设计,它只是其中一个的克隆 files .

关于ruby-on-rails - 如何编写 Devise 扩展(使用自定义数据存储),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8364053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com