메일 런을 통해 이메일로 보내고 처리 된 정보 저장
-
10-12-2019 - |
문제
이메일에서 내용을 취하고 저장할 수 있도록 Heroku & Railgun을 설정했습니다.
전자 메일이 MailGUN으로 전송 될 때 내 앱으로 전달되고 내 메시지 모델의 빈 인스턴스가 자동으로 만들어 지지만 이메일의 필드가 저장되지 않습니다. 일치하는 스키마 (예 : String Subject : String etc)에서).
내 문제는 각 메시지가 해당 정보와 함께 저장되도록 HTTP POST 요청의 내용을 어떻게 처리하는 방법을 알아낼 수 없다는 것입니다. 나는 그것이 Heroku (Heroku logs를 통해)에 들어오는 것을 볼 수 있지만 그것을 저장할 수는 없습니다. 나는 다음 필드를 처음 저장하고 싶습니다.
-
에서
- 주제
- 첨부 파일
지금 my message_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
모든 제안?
나는 그것의 부분에 대한 기본적인 이해 문제를 확신하지만, 내가 여기서하는 일을 정말로 설명하는 것을 발견하는 것을 발견 할 수는 없다.
해결책
메일 젠터 여기 :
우리는 레일 객체를 게시하지 않으며이 테이블에서 설명한대로 간단한 HTTP 매개 변수를 게시합니다. http://documentation.mailgun.net/user_manual.html#parsed-messages-parameters.
params [: message]로 잡으려고하는 "메시지"매개 변수가 없습니다. Parmas [: Subject], params [: body-plain] 등과 같은 개별 구성 요소로 메시지를 어셈블해야합니다
또한 포스트가 다른 도메인에서 오는 이래로이 컨트롤러에 대한 레일 요청 Forgery 보호를 비활성화해야합니다. http://api.rubyonrails.org/classes/ctionController/requestforgeryprotection/classmethods.html.