我的应用的基本url是什么?

在Camping / Rack中,如何获取应用的基本URL? 我想知道,所以我可以把它放在它发送的电子邮件中。 它可能是(正在开发中) 要么 http://localhost:9292 要么 http://localhost:80/game 或在生产中 http://fancy-snake.heroku.com

POST方法无法在机架轨道中工作4

我在我的Rails 4应用程序中使用rack-cors gem,这样我就可以使用基于JSON的API。 我项目中的所有GET方法都运行正常,但POST方法返回500内部服务器错误。 我正在我的application.rb文件中进行配置,如下所示: module Railsapp class Application :any, :methods => [:get, :post, :put, :options, :delete] end end end end 我的application_controller.rb文件如下所示: before_filter :cors_preflight_check after_filter :cors_set_access_control_headers headers def cors_set_access_control_headers headers[‘Access-Control-Allow-Origin’] = ‘*’ headers[‘Access-Control-Allow-Methods’] = ‘POST, GET, OPTIONS’ headers[‘Access-Control-Allow-Headers’] = ‘*’ headers[‘Access-Control-Max-Age’] = “1728000” end def cors_preflight_check if request.method == :options headers[‘Access-Control-Allow-Origin’] = ‘*’ headers[‘Access-Control-Allow-Methods’] = […]

为什么不能用Ruby声明方法中的常量?

考虑以下情况,StubFoo是Foo的存根,我希望将其用于某些测试。 class Runner def run Foo = StubFoo foo = Foo.new # using Foo… end end 这会生成以下错误消息: Dynamic constant assignment 然而,在RSpec我可以做以下工作,这是有效的,并且是完全合法的: it “should be an example” do Foo = StubFoo foo = Foo.new foo.to_s.should == “I am stubbed!” end 关于这一点的一些问题。 为什么这适用于RSpec测试用例,而不是上述方法? 据我所知,“它”只是RSpec中的一种方法,但我能够在“方法”中重新声明一个常量。 我在使用模拟框架之前做这个,纯粹想要知道如何在Ruby中进行模拟,存根等等。 我听说动态语言更容易模拟/存根,互联网上有指南,其中简单的类重新分配如上所述。 根据我的研究,在Ruby中,不可能在方法中声明常量,但我如上所述会感到困惑。 编辑 对,这开始变得更有意义了。 我已经更新了run,现在正在使用const_set。 def run old = Foo self.class.const_set(:Foo, StubFoo) […]

字符串值的Ruby多重OR评估

我想知道是否在Ruby中编写以下内容的方式很简单: ext == “.xlsx” || ext == “.xls” || ext == “.ods” 我最初的想法是以下似乎没有按预期工作: ext == “.xlsx” || “.xls” || “.ods”

如何在使用gpgme解密文件时绕过pinentry(密码短语屏幕)

我试图从服务器解密一个文件,我有该服务器所需的公钥。 密钥环有密码保护,因此当我尝试解密文件时,它会要求我输入密码。 当我们尝试解密文件时,是否有办法通过传递密码来绕过密码。 我正在使用gpg-agent ,其中密码被缓存600秒默认时间,并且由于某种原因我无法设置max-cache-ttl (它对我不起作用,我不知道y)并且仅可用为那届会议。 现在我想缓存我正在使用gpg-preset-passphrase 。 我在.gnupg / gpg-agent.conf中将其设置为gpg-preset-passphrase –preset hex 。 我不知道我在这里缺少什么。 有人可以让我知道我在这里缺少什么 谢谢

如何在ruby中获得屏幕分辨率

如何在ruby脚本中获得屏幕分辨率(高度,宽度)?

用ruby显示日期

这是我的日期20100816和整数日期。 如何显示它像08/16/2010?

TextMate中的^ H用’Tidy’HTML导致NoMethodError

昨天我第一次尝试在HTML文档中使用’Tidy’,并得到了…… /tmp/temp_textmate.Z2P0KX:30:in `’: undefined method `empty?’ for nil:NilClass (NoMethodError) 我没有对包中的代码做任何事情…… #!/usr/bin/env ruby -wKU require ENV[‘TM_SUPPORT_PATH’] + ‘/lib/ui.rb’ require ENV[‘TM_SUPPORT_PATH’] + ‘/lib/exit_codes.rb’ result = `”${TM_TIDY:-tidy}” -f /tmp/tm_tidy_errors -iq -utf8 \ -wrap 0 –tab-size $TM_TAB_SIZE –indent-spaces $TM_TAB_SIZE \ –indent yes \ ${TM_XHTML:+-asxhtml –output-xhtml yes} \ ${TM_SELECTED_TEXT:+–show-body-only yes} \ –enclose-text yes \ –doctype strict \ –wrap-php no \ […]

在服务器进程中创建工作线程是一个坏主意吗?

我的服务器进程基本上是一个响应REST请求的API。 其中一些请求用于启动长时间运行的任务。 做这样的事情是个坏主意吗? get “/crawl_the_web” do Thread.new do Crawler.new # this will take many many days to complete end end get “/status” do “going well” # this can be run while there are active Crawler threads end 服务器每天不会处理超过1000个请求。

inheritance类中的Ruby和类变量

class A def set(v) @@v = v end def put puts @@v end end class B < A end class C b C.new.set ‘c’ C.new.put # => c B.new.put # => c 为什么? 我怎么写这个在最后B.new.put中有’b’?