我正在使用jQuery UI对话框,在Windows上的IE和FF中我通过对话框获得基础Flash内容.
我在IE上通过启用bgiframejQuery对话框窗口上的选项并更改bgiframe脚本以应用于任何Windows浏览器来解决这个问题,但是我仍然在FF上获得了闪光.
请注意,我无法准确知道Flash内容的显示位置,因为它通常是用户添加到页面的Flash小部件,虽然我已经考虑过在显示对话框时暂时隐藏Flash内容 - 这是唯一的选择对我来说?
我正在尝试编写一个Cucumber场景,要求我有一个登录用户 - 这通常很简单,但我只使用OpenID身份验证(认证插件的简化).然而,在深入挖掘open_id_authentication插件后,我不确定如何在Cucumber中实现这一点.
我有几个块助手,这是我正在做的一个简单的例子:
def wrap_foo foo, &block
data = capture(&block)
content = "
<div class=\"foo\" id=\"#{foo}\">
#{data}
</div>"
concat( content )
end
Run Code Online (Sandbox Code Playgroud)
我只是尝试erubis,它给了我以下错误:
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.<<
Run Code Online (Sandbox Code Playgroud)
删除调用以concat删除错误但最终导致我的包装器没有被渲染
使用:
我希望能够指出当Open-Uri open()调用超时或引发异常(如SocketError)时,我按预期处理事情,但是我遇到了麻烦.
这是我的规范(对于SocketError):
@obj.should_receive(:open).with("some_url").and_raise(SocketError)
Run Code Online (Sandbox Code Playgroud)
我正在使用open-uri的对象的一部分:
begin
resp = open(url)
resp = resp.read
rescue SocketError
something = true
end
Run Code Online (Sandbox Code Playgroud)
但是在这种情况下,规范会因nil.read错误而失败.
这是本周我第二次遇到这个问题,上一次我试图open()用a 换行时试图模拟TimeoutError timeout() {},那次我放弃了,只是通过打开课程导致了实际的超时.我能明显地造成这种试图通过调用一个无效的URL抛出一个SocketError,但我敢肯定有使用RSpec嘲笑这一点的正确道路.
更新:我显然没有想到深夜,错误实际上是我在SocketError之后重新尝试URL时,and_raise(SocketError)部分工作正常.
我需要为我正在运行的网站设置维护页面,例如,当我执行站点维护(计划停机时间)或者某些事情确实中断时我需要显示保留页面.
我需要做些什么特别的事情来确保搜索引擎抓取工具不对其进行索引并认为它是我的网站.或者我应该做404,添加临时robots.txt文件或什么?我基本上不希望他们将其编入索引作为我的网站,但我也不希望他们认为我的网站已经死了而且没有回来.
编辑:这是我在Apache中所做的:ErrorDocument 503 /.server-maintenance.html RewriteEngine On RewriteRule!^.server-maintenance.html/server-maintenance Redirect 503/server-maintenance strong text
我们正在尝试在ColdFusion中计算HMAC-SHA256摘要,我们正在使用HMAC CFC,但在一种情况下,与使用不同语言生成的摘要相比,它产生了不同的摘要结果 - 使用Ruby和PHP尝试了相同的数据并获得预期的结果.我也尝试了它所基于的CF_HMAC自定义标签并获得相同的结果.
据我所知,从CF8 encrypt()支持HMAC-SHA256,但它只在Enterprise(我们没有)中可用,甚至在开发人员版本中也没有供我测试.
所以我的问题是我可以通过从CF访问Java来实现这一点吗?
我想使用具有属性的OpenStruct将哈希转换为对象id,但结果object#id返回本机对象id,例如
test = OpenStruct.new({:id => 666})
test.id # => 70262018230400
Run Code Online (Sandbox Code Playgroud)
无论如何都要覆盖这个?目前我的解决方法并不那么漂亮.
在我的Rails 2应用程序中,我总是使用清理电子邮件将开发中的所有电子邮件发送到我的个人帐户,以避免意外发送电子邮件或仅用于测试.
这似乎没有Rails 3版本,并想知道Rails 3是否有任何东西可以做到这一点.
我正在尝试将加载的图像(jpg)转换cfhttp为二进制数据.我无法使用,cffile action="readBinary"因为它不是本地文件.
我有一个路由,我正在使用约束来检查主机,然后是一个基本相同但没有主机限制的路由(这些实际上是命名空间,但为了简单起见,这个例子将会这样做):
match "/(:page_key)" => "namespace_one/pages#show", :constraints => proc {|env| env['SERVER_NAME'] == 'test.mysite.local' }
match "/(:page_key)" => "namespace_two/pages#show"
Run Code Online (Sandbox Code Playgroud)
当通过浏览器访问时以及在定义主机和执行get "/page_key"等时的集成测试中,这些工作完全符合预期.
但是我想编写确保这些路由到目前为止工作的测试我没有太多运气,因为下面的测试(目前ActionController::IntegrationTest我可以设置主机)匹配没有约束的测试:
assert_routing '', { :controller => 'namespace_one/pages', :action => 'show' }
=> The recognized options <{"action"=>"show", "controller"=>"frontend/pages"}>
did not match <{"action"=>"show", "controller"=>"namespace_two/pages"}>,
difference: <{"controller"=>"namespace_one/pages"}>
Run Code Online (Sandbox Code Playgroud)
如果我尝试在限制proc中转储env,我得到的就是--- :controller.
如果我摆脱assert_routing只是做一个get :show调用并转储@controller它确实解析到正确的控制器(正如预期的那样,这些路由都可以通过HTTP请求正常工作).
coldfusion ×2
rspec ×2
ruby ×2
actionmailer ×1
apache ×1
binary ×1
cfhttp ×1
cucumber ×1
email ×1
encryption ×1
erubis ×1
firefox ×1
flash ×1
header ×1
hmac ×1
html ×1
image ×1
java ×1
jquery ×1
metadata ×1
object ×1
open-uri ×1
openid ×1
raise ×1
robot ×1
routing ×1
testunit ×1
unit-testing ×1
view-helpers ×1
windows ×1