Ruby on Rails中Rack和Rails Metal之间的确切区别是什么?
我是Rack and Rails金属的新手,谁能告诉我哪种情况必须使用哪个? 根据我的理解,Rack和Metal都可以过滤/绕过http请求和响应。 需要更好的澄清,何时使用什么? 提前致谢!!!
据我所知,很久以前Rails Metal已经从Rails 3中删除了。 基本上它曾经是Rack周围的薄包装器,它可以更像是一个端点而不是一个filter(通常是Rack中间件的情况)。 查看这篇文章以获得更详细的解释: http : //jnewland.github.io/articles/2008/12/16/rails-metal-a-micro-framework-with-the-power-of-rails-m/
如今,作为一种替代方案,你可以使用的是ActionController :: Metal ,它是一个非常轻量级的控制器,可以提供非常快速的响应而不提供许多“酷”Rails的东西。
就Rack而言,它基本上是:
支持Ruby和Ruby框架的Web服务器之间的最小接口。
因此,它基本上有助于标准化任何支持Ruby的Web服务器与任何可能的Ruby Web框架之间的通信。
这是Rack从Passenger的文档中获取的一个很好的示意图
- rails rspec – (第二次测试)预期响应是,但是
- 我可以覆盖test_helper.rb中的task:environment来测试rake任务吗?
- 为什么Rails Gemfile默认为https,当http使捆绑包更快?
- ruby中的数据库连接池
- 带有HTTP get的Ruby NoMethodError(未定义的方法`set_body_internal’)
- 如何针对某些路径在Rails 4中有选择地启用SSL?
- 脚本在命令行中成功执行,但不是作为cronjob执行
- 是否可以在Heroku Cedar上运行capybara-webkit(即forked webkit_server)?
- 使用rails资产管道在javascript文件中编码问题