我的设置:Rails 3.0.9,Ruby 1.9.2
在我的带有webrick的开发机器上,来自外部服务的传入POST请求,例如
https://localhost:3000/projects?name=stuff&length=5
request.fullpath显示
/projects?name=stuff&length=5
在Heroku上,request.fullpath显示
/projects
有谁知道为什么?
更新 我只是使用logger
显示request.fullpath输出ProjectsController.rb
def create
Rails.logger.debug "\n\nfullpath=#{request.fullpath}\n\n"
...
end
如果它有所不同,我只记得来自外部服务的POST是HTTPS。我已使用HTTP将外部服务配置为POST,但仍存在相同的问题。
如果有人好奇,我会使用控制台检查Heroku的版本
>> Rails::VERSION::STRING
=> "3.0.9"
>> RUBY_VERSION
=> "1.9.2"
答案 0 :(得分:1)
看起来fullpath
应始终返回查询字符串 - 请参阅Rails源代码中的these tests。
执行POST的表单是什么样的?您是否肯定您的开发和生产测试没有差异?