草庐IT

02.HTTP协议与应用开发

全部标签

ruby-on-rails - 在开发模式下重新加载 Rails 3 初始值设定项

我正在构建一个Rails3应用程序,用户可以在其中选择多个模板之一并构建一个小网站。我试图在应用程序启动时初始化所有可用的模板。这本质上是一个文件,让我定义它们,然后为它们中的每一个调用Template.add(template),然后将它们存储在@@templates中,我可以通过Template.find(name)访问它们。问题是在开发模式下,我调用Template.add的初始化程序在第一个请求时加载,然后在reload!时被清除.我读过有关config.to_prepare的内容,但它对我不起作用,可能是因为我需要这样的模板:#templateconfigatapp/temp

ruby - Rails 3 应用程序的 respond_with 语法有奇怪的行为吗?

在为提供json的Rails3.0.3应用构建API时,发生了一些意外行为。以下是Controller。问题是关于respond_with。我已经在应用程序Controller中有respond_to:json。createAction正常运行,创建后数据也被发回。但是更新操作的respond_with不会发回任何数据。响应主体为空白。defcreateline=get_lineinput_header=line.input_headers.create(params[:input_header])respond_with(input_header,:location=>api_v1_

ruby - Sinatra REST API 应用程序的身份验证

我正在使用Sinatra构建一个API(在客户端使用Angular并希望其他人能够访问API)并且它也是一个OAuth提供者。我想知道采取什么最佳途径(利用现有的gem或从Warden推出自己的解决方案等)。在使用Rails之前使用过devise和doorkeeper进行身份验证和oauth,想知道Sinatra的最佳解决方案是什么。理想情况下,我不想要View或能够扩展/修改现有解决方案的操作,因为我纯粹将其作为API与之交互。 最佳答案 我最近使用S/O的以下答案做了同样的事情Whatisaverysimpleauthentic

ruby-on-rails - 对于 Ruby 应用程序,是否有比 Sanitize 更好的替代方案?

我爱Sanitize.这是一个了不起的实用程序。我遇到的唯一问题是,它需要永远准备一个开发环境,因为它使用Nokogiri,这对编译时间来说是一种痛苦。是否有任何程序可以在不使用Nokogiri的情况下执行Sanitize的操作(如果没有别的,只是温和地执行它的操作)?这将以指数方式提供帮助! 最佳答案 Rails有自己的SanitizeHelper。根据http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html,它将Thissanitizehe

ruby-on-rails - 是否有可能发现 Ruby on Rails 应用程序中未使用哪些类?

在我们的项目中,我们有一些“被遗忘的”类存在了很长一段时间。那些类已被其他类替代,但我们忘记删除它们。是否有一些自动化的方法/工具可以发现Ruby{onRails}应用程序中没有使用哪些类?谢谢! 最佳答案 这个问题已经被提出了很多次,但是最好的答案都在这里:FindunusedcodeinaRailsapp我个人喜欢日志解析:https://stackoverflow.com/a/14161807但在任何情况下,您都可以创建自己的记录器,扩展ActiveRecord::Base以创建一个观察器,该观察器将最常用的模块存储在数据库中

ruby-on-rails - Heroku 正在为 Rails 5 应用程序提供旧 Assets

我在Heroku上部署了一个新版本的Rails5应用程序,在cedar-14堆栈上运行。它在部署时没有预编译,所以我手动执行了herokurunrakeassets:precompile。不过,我可以看到它包含旧Assets,同时需要css和js文件。我的文件在app/assets中,所以该目录不可能不在Assets编译路径中。我在application.rb和production.rb上的配置:config.assets.compile=true#Icheckedtheenvironmentvariable,itrespondsto'enabled',#whichwouldretur

ruby - 如何在 Ruby 中从内存中 HTTP 发布流数据?

我想上传我在运行时用Ruby生成的数据,就像从block中提供上传数据一样。我找到的所有示例仅展示了如何流式传输必须在请求之前位于磁盘上的文件,但我不想缓冲该文件。除了滚动我自己的套接字连接之外,最好的解决方案是什么?这是一个伪代码示例:post_stream('127.0.0.1','/stream/')do|body|generate_xmldo|segment|body 最佳答案 有效的代码。require'thread'require'net/http'require'base64'require'openssl'class

ruby - 具有基本身份验证和 gzip 的 em-http 流挂起

我正在尝试使用GnipPowerTrackAPI,这需要我使用基本身份验证连接到JSON的HTTPS流。我觉得这应该是相当微不足道的,所以我希望一些比我聪明的ruby​​ist可以指出我明显的错误。这是我的ruby​​1.9.3代码的相关部分:require'eventmachine'require'em-http'require'json'usage="#{$0}"abortusageunlessuser=ARGV.shiftabortusageunlesspassword=ARGV.shiftGNIP_STREAMING_URL='https://stream.gnip.com:4

node.js - 从未编写过任何自动化测试,我应该如何开始行为驱动开发?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。多年来,我一直在使用多种语言进行编程,并且认为自己总体上相当擅长。但是,我从未编写过任何自动化测试:没有单元测试,没有TDD,没有BDD,什么都没有。我已经尝试开始为我的项目编写适当的测试套件。我可以看到在进行任何更改后能够自动测试项目中所有代码的理论值(value)。我可以看到像RSpec和Mocha这样的测试框架应该如何使设置和运行所述测试变得相当容易

ruby - 开发Ruby gem时如何添加 "pry"

我有一个叫做“something”的gem。我想在开发gem时将pry添加为开发依赖项。但是我不知道如何加载它。如果我在lib/something.rb中有“requiresomething”,当我释放gem时,它会抛出一个LoadError,因为pry只是一个开发依赖项。与此同时,我不想在提交代码时继续添加和删除pry。只有在开发应用程序时才需要pry,而不需要将其作为gem的依赖项的最佳方法是什么? 最佳答案 您可以使用add_development_dependency在gemspec文件中。您仍然需要在begin..resc