我想在rails中做一个部分SSL站点.我基本上想要保护SSL背后的用户操作,但没有别的.
任何人都知道插件或宝石,使这简单而有效?
所以我试图想出一种方法来为一个Sinatra应用程序在rspec中存储一个控制器方法.其主要原因是测试应用程序的逻辑流程,并确保在满足某些条件时调用必要的函数.所以,从本质上讲,我希望能够做类似的事情
controller.should_receive(:fancy_method).and_return("This is a string")
Run Code Online (Sandbox Code Playgroud)
我遇到的困难是访问sinatra应用程序中的控制器实例.我能够使用sinatra控制器类上的class_eval覆盖当前函数,但我想断言这些函数实际运行.
有人有什么建议吗?
谢谢.
我正在使用restclient进行多部分表单将数据发送到一个宁静的Web服务(它是Panda视频编码服务).但问题是,我传递给restclient(Technoweenie分支)的文件来自我自己提交的用户提交的表单.
所以,让我们来看看吧.用户将文件发布到我的rails应用程序.在我的控制器中,它从params [:file]接收文件.然后我想使用RestClient将params [:file]传递给Panda.
我得到的错误是在熊猫服务器上.我注意到堆栈跟踪中的文件参数也是一个字符串(我假设是Panda变成一个字符串以获得更好的堆栈跟踪).
~ Started request handling: Wed Aug 12 18:05:15 +0000 2009
~ Params: {"format"=>"html", "multipart"=>"true", "account_key"=>"SECURE_KEY", "action"=>"upload", "id"=>"SECURE_ID", "controller"=>"videos", "file"=>"#<File:0xcf02ca4>"}
~ 9bfb1750-6998-012c-4509-12313900b0f6: (500 returned to client) InternalServerErrorcan't convert nil into String
/var/local/www/panda/app/models/video.rb:246:in `extname'
/var/local/www/panda/app/models/video.rb:246:in `initial_processing'
/var/local/www/panda/app/controllers/videos.rb:79:in `upload'
Run Code Online (Sandbox Code Playgroud)