2017-06-14 4 views
0

Im Controller meiner App, sobald ein Datensatz erstellt wird Ich möchte die WhatsApp, SMS oder E-Mail-App des Clients automatisch öffnen (abhängig vom Typ des neuen Datensatzes).Schienen: Ereignis im Controller auslösen

Meine Aktion erstellen wie folgt aussieht:

def create 
    session[:return_to] ||= request.referer 

    @token = SecureRandom.uuid 
    @new_token = Token.new(:token_value => @token, :sender_id => current_user.id, :card_id => params[:card_id], :type => params[:type])  

    respond_to do |format| 
     format.html { redirect_to session.delete(:return_to), notice: "Token " + @new_token.token_value + " was successfully created." } 
    end 

    if @new_token.type == "sms" 
     #open client's sms app and autofill sms body with @new_token.token_value 

    elsif @new_token.type == "email" 
     #open client's email app and autofill subject + body with @new_token.token_value 

    elsif @new_token.type == "whatsapp" 
     #open client's whatsapp and autofill body with @new_token.token_value 

    end 

    end 

Wie kann ich das erreichen?

Antwort

1

Ich denke, Sie sollten in der Lage sein, zu einem app-spezifischen URL-Schema umzuleiten. Als Beispiel für die Idee:

<html> 
 
<meta http-equiv="refresh" content="0; url=mailto:[email protected]?body=token&subject=Your new token" /> 
 
</html>

Sie könnten eine Umleitung auf eine E-Mail und whatsapp mit einer predrafted Nachricht machen:

redirect_to 'mailto:[email protected]?body=token&subject=Your new token' 
redirect_to 'whatsapp://send?text=token' 

Leider die sms url scheme only supports a telephone number. Beachten Sie, dass das mailto: -url-Schema fast überall funktioniert, wo ein E-Mail-Client verfügbar ist. Die Unterstützung für das whatsapp: -url-Schema hängt vom Betriebssystem ab und davon, ob die Person WhatsApp installiert hat. Also, wissen Sie, worauf Sie umleiten werden!

+0

Es funktioniert! Dies ist jedoch nur möglich, wenn ich eine E-Mail-Adresse angegeben habe. Wenn ich es leer lasse - wie 'mailto:' body ... 'funktioniert es nicht. Gibt es eine Lösung dafür (denn in meinem Fall sollte die Adresse leer sein). – Oliver

+0

Sie sollten dazu in der Lage sein: https: //stackoverflow.com/questions/3540664/how-do-you-create-a-mailto-link-without-the-to-part ... aber vielleicht können Sie umgehen mit% 20 (ein Leerzeichen?) – murb

+0

Ich habe beides versucht, aber das redirect_to funktioniert nur, wenn nach mailto ein "@" steht: – Oliver

Verwandte Themen