基于电子邮件的交互与rails app

时间:2013-05-04 09:38:46

标签: ruby-on-rails authentication gem

我需要一些宝石,允许用户通过电子邮件与rails app进行交互,而无需注册。例如:我发布了一些待售的东西,附有电子邮件,以及所有控件(CRUD和提交),我将我的电子邮件作为链接(删除,更新等)。我想以某种方式将其与设计联系起来,并有机会使用带有购物历史的同一封电子邮件进一步注册。

要发布用于销售的内容(服务或产品),用户必须填写:

姓名,电子邮件(验证独特),电话。这可能会或可能不会用于将来使用设计注册。

以相同的形式可能是:图片,描述和产品的其他领域.........

这个想法是存储:没有密码的用户数据库中的id,名称,电子邮件,电话,或者以某种方式等待注册

1 个答案:

答案 0 :(得分:1)

根据您将添加到URL的一些哈希值,创建您自己的CRUD控制器。将这些哈希值存储在数据库中,并验证用户是否合法执行操作。

警告:任何拥有有效网址的人都可以执行这些操作。

好吧,你在评论中写道,你希望它与Devise集成。 Devise支持登录令牌,但适用于现有用户。然后你应该以某种方式虚拟注册它们。最简单的方法是:

  1. 在网址中包含用户电子邮件,其中包含一些tolen

  2. 检查我们是否已有此类用户 - 在此处添加令牌验证

    user = User.find_by_email(params[:email])
    if user.nil?
      user = User.create(field_1: value1, field_2: value2)    
    end
    
    sign_in(user)
    
    redirect_to after_sign_in_path(user)
    
  3. 完成。用户根据URL中包含的电子邮件和令牌进行身份验证。