2017-06-09 47 views
0

我有一個應用程序,用戶可以通過單擊按鈕通過電子郵件,短信和WhatsApp發送一個獨特的鏈接(明信片邀請其他人)給他人。Rails:按鈕點擊創建數據庫記錄

該應用程序功能的卡的按鈕顯示的方法,說:「通過電子郵件發送卡片給朋友」,當人們點擊它,他們的電子郵件應用程序中打開,他們可以發送鏈接:

<a href="mailto:?subject=Postcard for you!&body=You received a nice postcard! Check it out here: <%= u @sending_url %>"> 
    <button class="btn btn-large btn-default">Send card to a friend via email</button> 
</a> 

鏈接/ URL @sending_url由輔助方法創建,由URL和兩個參數inviter_id(這是當前用戶的ID)和令牌(@token)通過SecureRandom.uuid生成。其中我的應用程序產生一個鏈接看起來是這樣的:

https://chaos-jadz.c9users.io/cards/3?inviter_id=1&token=b39f0488-de54-431e-a261-4da2feae6012

我想現在要做的是:一旦用戶點擊這個按鈕的應用程序不應該只打開電子郵件應用程序,但也店令牌數據庫。因此,我有:

token.rb

class Token < ActiveRecord::Base 
end 

schema.rb現在

create_table "tokens", force: :cascade do |t| 
    t.string "token" 
    t.datetime "created_at", null: false 
    t.datetime "updated_at", null: false 
    end 

我的問題是: 我怎樣才能實現我的節目的按鈕。一旦點擊了卡的html.erb,將令牌(在我的卡片顯示方法中生成)保存在數據庫中,同時打開用戶電郵應用程式

回答

1

如何通過inviter_id(例如 - >/users/1/invites)創建指向服務器的鏈接,然後在invites_controller中,您將用戶將數據庫中存儲的令牌重定向到電子郵件應用程序鏈接。

相關問題