2012-03-10 14 views
2

メールからコンテンツを取り出して保存するために、私はHeroku &レールガンを設定しました。電子メールで処理した情報を私のアプリにメールしました

私は電子メールがmailgunに送信されると、それらが私のアプリケーションに転送され、私のメッセージモデルの空き領域が自動的に作成されるということを知っていますが、電子メールのフィールドは保存されませんマッチしたスキーマを持っているにもかかわらず(例えばfrom:文字列subject:string等))。

私の問題は、HTTP POSTリクエストの内容をどのように処理して、各メッセージが対応する情報とともに格納されるかを理解できないことです。私はそれがheroku(herokuログ経由で)に入ってきているのがわかりますが、それを保存することはできません。私は最初、次のフィールドに格納するために探しています:

  • 私messages_controller.rbこの

    def create 
         @message = Message.new(params[:message]) 
    
         respond_to do |format| 
         if @message.save 
          format.html { redirect_to @message, notice: 'Message was successfully created.' } 
          format.json { render json: @message, status: :created, location: @message } 
         else 
          format.html { render action: "new" } 
          format.json { render json: @message.errors, status: :unprocessable_entity } 
         end 
         end 
        end 
    

    のように見える瞬間

  • 添付

件名

  • から助言がありますか?

    私はその基本的な理解の問題は私のところは確かですが、ここで何をしようとしているのかを実際に説明するものは見つけられません。

    +0

    あなたのメッセージモデルでいくつかの検証はありますか?あなたは救済しようとしましたか?保存中に問題があるかどうかを確認する – shingara

    答えて

    4

    ここmailgunner: http://documentation.mailgun.net/user_manual.html#parsed-messages-parameters

    は、あなたがつかむしようとしている何の「メッセージ」パラメータはありません:この表で説明したように

    私たちは、Railsのオブジェクトを投稿していないが、我々は、単純なHTTPパラメータを投稿params [:message]を使用すると、parmas [:Subject]、params [:body-plain]などの個別のコンポーネントでメッセージを組み立てる必要があります。

    また、POSTは別のドメインから来ているため、このコントローラアクションのRails要求偽造防止を無効にする: http://api.rubyonrails.org/classes/ActionController/RequestForgeryProtection/ClassMethods.html

    +0

    これは私が持っていた同様の質問に答えました。ありがとうございました。 – berto77

    +0

    ありがとうございます。乾杯! – Paul

    関連する問題