我在spec_helper.rb中设置了以下行
config.use_transactional_fixtures = true
Run Code Online (Sandbox Code Playgroud)
这意味着每个测试都应该自行清理.一次测试所做的任何db更新都不应该用于下一次测试.
我的一个spec文件中有两个测试.
it 'should update the DB' do
Setting.put('abcd', 'efgh')
end
it 'should not find the DB update' do
Setting.get('abcd').should be_nil
end
Run Code Online (Sandbox Code Playgroud)
以上两个测试用于使用Rails 3.2.14
但升级到Rails 4后,第二次测试失败,出现以下错误,
------
expected: nil
got: "efgh"
-----
Run Code Online (Sandbox Code Playgroud)
由于这个问题,我在套件中有大约100个测试失败.
我可以为Rails 4升级找到的唯一相关文档是非常模糊的:"Rails 4.0已经弃用了ActiveRecord :: Fixtures而支持ActiveRecord :: FixtureSet."
我不确定这是否/如何相关.理想情况下,我希望有一个全局设置(config.use_transactional_fixtures = true),而不必更改测试的逻辑(或在(:each)/ after(:each)模块之前添加额外的模块,以使现有测试通过. 请帮忙!
我想允许使用ruby的Grape API下载二进制文件(.p12文件).这就是我想要的.
get '/download_file' do
pkcs12 = generate_pkcsfile
content_type('application/octet-stream')
body(pkcs12.der)
end
Run Code Online (Sandbox Code Playgroud)
使用ActionController的等效代码是
begin
pkcs12 = generate_pkcsfile
send_data(pkcs12.der,
:filename => 'filename.p12')
end
Run Code Online (Sandbox Code Playgroud)
问题是使用API下载的文件似乎是一个文本文件,每个字符都嵌入了'\ ufffd'前缀,而使用浏览器下载的文件似乎是二进制文件.如何使用GRAPE API框架允许下载通过ActionController的send_data下载的同一文件
我正在尝试使用 Dialogflow 与谷歌助手/谷歌主页集成,但我们遇到了一些问题。
问题如下。
但是,当 dialogflow 将此信息转发给 google 操作时,它似乎没有传递任何此类信息。另一方面,如果我fulfillMentText在我的服务响应中包含一个调用的键,则 dialogflow 会将该信息转发给 google 操作作为
[{"simpleResponse":{"textToSpeech":"Nice to meet you, Bob!"}}]}
Run Code Online (Sandbox Code Playgroud)
根据阅读可用的文档,我不清楚我需要做什么才能使对话流还将fulfillmentMessages 的内容传播到谷歌操作。
先感谢您。