2013-05-04 46 views
1

我需要一些gem,它允许用户通过电子邮件与rails应用程序进行交互,而无需注册。例如:我发布一些待售信息,伴随着电子邮件以及所有控件(CRUD和提交),我以电子邮件的形式发送链接(删除,更新等)。我想以某种方式将它连接到设计,并有机会使用具有购物历史记录的相同电子邮件进一步注册。基于电子邮件的与rails应用程序的交互

要发布售后的东西(服务或产品)的填写:

姓名,电子邮件(验证唯一的),电话。这可能会或可能不会用于使用设计的未来注册。

以相同的形式

可能是:照片,描述和产品等领域.........

的想法是存储:ID,姓名,电子邮件,电话用户数据库,而不密码或以某种方式等待注册

+0

你需要澄清这个问题。它含糊不清。在mkula的评论中,你突然间需要设计整合。 Devise已经支持认证令牌,但可能不适用于不存在的用户。 你似乎想要认证甚至没有注册的用户。除了电子邮件地址,您对这些用户有多少信息? – 2013-05-04 10:53:22

+0

对不起,我认为这有一些宝石,并没有必要添加所有细节。问题已更新,请查看。 – 2013-05-04 11:28:31

回答

1

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

警告:任何具有有效URL的人都可以执行这些操作。

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

  1. 在URL中包括一些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中包含的电子邮件和令牌进行身份验证。

+0

谢谢Mikula。但我想以某种方式将它连接到设计,并有机会使用具有购物历史记录的相同电子邮件进一步注册。是的,这种方法不是保存,我不想重新发明轮子:) – 2013-05-04 10:37:09

+0

@AndreyYasinishyn我已经更新了我的答案,真的很容易实施 – 2013-05-04 11:30:53

+0

非常感谢。 :) – 2013-05-04 11:33:46

相关问题