我需要一些宝石,允许用户通过电子邮件与rails app进行交互,而无需注册。例如:我发布了一些待售的东西,附有电子邮件,以及所有控件(CRUD和提交),我将我的电子邮件作为链接(删除,更新等)。我想以某种方式将其与设计联系起来,并有机会使用带有购物历史的同一封电子邮件进一步注册。
要发布用于销售的内容(服务或产品),用户必须填写:
姓名,电子邮件(验证独特),电话。这可能会或可能不会用于将来使用设计注册。
以相同的形式可能是:图片,描述和产品的其他领域.........
这个想法是存储:没有密码的用户数据库中的id,名称,电子邮件,电话,或者以某种方式等待注册
答案 0 :(得分:1)
根据您将添加到URL的一些哈希值,创建您自己的CRUD控制器。将这些哈希值存储在数据库中,并验证用户是否合法执行操作。
警告:任何拥有有效网址的人都可以执行这些操作。
好吧,你在评论中写道,你希望它与Devise集成。 Devise支持登录令牌,但适用于现有用户。然后你应该以某种方式虚拟注册它们。最简单的方法是:
在网址中包含用户电子邮件,其中包含一些tolen
检查我们是否已有此类用户 - 在此处添加令牌验证
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)
完成。用户根据URL中包含的电子邮件和令牌进行身份验证。