【问题标题】:mail_room with Ruby on Rails使用 Ruby on Rails 的 mail_room
【发布时间】:2014-01-15 13:07:04
【问题描述】:

我似乎无法让 mail_room 在 Rails 应用程序中工作。 在测试记录器的传递方式时,它可以正常工作

config/mail_room.yml

---
:mailboxes:
  -
    :email: "some@gmail.com"
    :password: "password"
    :name: "inbox"
    :delivery_method: logger
    :log_path: "email.log"

但是回发方式似乎根本不起作用

config/mail_room.yml

---
:mailboxes:
  -
    :email: "some@gmail.com"
    :password: "password"
    :name: "inbox"
    :delivery_method: postback
    :delivery_url: "http://global-or-local-ip/inbox"
    :delivery_token: "abcdefg"

config/routes.rb

post 'inbox', :to => 'users#inbox', :as => :users_inbox

app/controllers/users_controller.rb

class UsersController < ApplicationController
    def inbox
        puts "Check your inbox..."
    end
end

不确定是因为 mail_room 还是 Rails 应用程序中缺少某些东西。我在路线中尝试了不同的动词。使用 Rails 4.0.2 并尝试了 gem 的 0.1.0 和 github 源代码。

【问题讨论】:

  • 首先它应该是POST,正如它在 gem 文档中所说的那样。你得到什么错误?
  • 嗨。我已经尝试过 POST 和最后说明的所有其他动词,但我现在将对其进行编辑。对困惑感到抱歉。我没有收到任何错误。它只是没有达到预期的方法。
  • 我的第一个猜测是,由于请求防伪保护,它可能会拒绝它。您可以尝试完全关闭protect_from_forgery,或者在您的UsersController 中关闭skip_before_filter :verify_authenticity_token, :only =&gt; [:inbox]
  • 两者都试过了,但似乎没有任何反应。控制台/日志中没有任何内容表明它甚至被 POST 请求击中。
  • 我们已经开始了一个关于项目的问题:github.com/tpitale/mail_room/issues/8

标签: ruby-on-rails ruby ruby-on-rails-4


【解决方案1】:

经过一些研究,我们发现 Faraday 0.8.8 与 ruby​​ 2.0 存在一些问题,因为我们在 mail_room 中使用它。发布了一个新的 gem,并在 README 中说明用户应该安装 >= 0.8.9 of Faraday。

【讨论】:

    猜你喜欢
    • 2018-11-19
    • 1970-01-01
    • 2012-12-27
    • 2010-12-07
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    相关资源
    最近更新 更多