我在rails应用程序中griddler添加的路由上遇到了一个奇怪的问题。
routes.rb摘录:
# mount griddler using default path: /email_processor
post '/email_processor' => 'griddler/emails#create', as: :email_processor瑞克路由
$ bundle exec rake routes RAILS_ENV=staging | grep -i 'email'
email_processor POST /email_processor(.:format) griddler/emails#create但是,在暂存日志中,我看到路由错误。
I, [2014-11-17T08:03:00.829592 #24344] INFO -- : Started POST "/email_processor" for 198.37.144.147 at 2014-11-17 08:03:00 +0000
F, [2014-11-17T08:03:00.832265 #24344] FATAL -- :
ActionController::RoutingError (No route matches [POST] "/email_processor"):当我尝试从rails控制台识别路径时,我看到了相同的错误:
> r = Rails.application.routes
=> #<ActionDispatch::Routing::RouteSet:0x0000000619f4f0>
> r.recognize_path "/email_processor"
ActionController::RoutingError: No route matches "/email_processor"奇怪的是,在我的本地机器上一切都工作得很好(当我使用ngrok将我的本地机器暴露到云中时,没有路由错误,post请求正在按预期处理,但是我仍然在本地看到recognise_path问题)
Gemfile.rb
#Process incoming mail from sendgrid smtp server
gem 'griddler', "~> 1.1.0"
gem 'griddler-sendgrid', "~> 0.0.1"Development.log摘录:
Started POST "/email_processor" for 127.0.0.1 at 2014-11-15 14:02:22 +0530
[1m[36mActiveRecord::SchemaMigration Load (0.9ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
Processing by Griddler::EmailsController#create as HTML
..
Completed 200 OK in 63659ms (ActiveRecord: 4.0ms)有人能帮我理解这个问题的根本原因吗?
谢谢
发布于 2014-11-17 19:14:23
我假设nginx重启是通过capistrano脚本发生的,这是愚蠢的(因为它在部署文档中没有明确提到)。不要紧。重启Nginx完成了这项工作。
谢谢
https://stackoverflow.com/questions/26968251
复制相似问题