2013-05-04 66 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

相關問題