我正在尝试使用回形针为带有图片的模型编写测试.我正在使用测试框架默认,没有shoulda或rspec.在这种情况下,我该如何测试呢?我应该真的上传文件吗?我该如何在夹具中添加文件?
我正在编写一个gevent.socket用于通信的Python客户端+服务器.有没有什么好方法可以测试代码的套接字级操作(例如,验证与无效证书的SSL连接是否会被拒绝)?或者只是spawn一个真正的服务器最简单?
编辑:我不相信"天真"的模拟将足以测试SSL组件,因为涉及复杂的交互.我错了吗?或者有更好的方法来测试SSL的东西吗?
我使用以下语法在Rails中的初始化程序中定义一个常量:
MyModule.const_set('MYCONSTANT','foobar')
Run Code Online (Sandbox Code Playgroud)
它工作,如果我启动一个控制台并写
MyModule::MYCONSTANT
Run Code Online (Sandbox Code Playgroud)
我按预期收到了foobar.
问题是,当我尝试在模型中调用它时,常量不存在.
D应该在哪里动态定义我的常量,它在我的模型中也可以使用?
如果我在我的lib/mymodule.rb中静态定义它,它可以工作,但我想在运行时定义一些常量.
我有一个与ruby 1.87一起工作的代码,但不适用于ruby 1.9.它说CSV :: Writer是未声明的,但它仍然是rdoc的一部分.在fastcsv合并之后,csv api是否发生了变化?
我的代码:
require 'csv'
def self.export_csv
file_name = File.join(RAILS_ROOT, 'public','csv',"#{start_date_f}_#{end_date_f}.csv")
return file_name if File.exist?(file_name)
@results = find(:all)
header_row = []
outfile = File.open(file_name, 'wb')
CSV::Writer.generate(outfile) do |csv|
header_row = ['gateway_id','created', 'gateway_status_id', 'panel_id', 'panel_status','volts_out', 'amps_out', 'temp','aid' ,'sid', 'pisid']
csv << header_row
end
end
Run Code Online (Sandbox Code Playgroud)
我收到的错误:NameError:未初始化的常量CSV :: Writer
请注意,需要'csv'.我在我的控制台中尝试它,当我执行require'csv'时,它可以工作,但是当我调用CSV :: Writer时,我收到了该错误.这段代码适用于ruby 1.87,因此它让我认为它是一个ruby 1.9 csv问题,因为它与fasterCSV合并.
当我使用它attr_accessible来指定我的模型I中的哪些字段将公开时,脚本/控制台也是如此?我的意思是我没有指定的东西attr_accessible也不能通过控制台访问?
我正在尝试在RoR应用程序的html视图中设置我的charset.我已经通过meta equiv标签配置了charset:
**meta http-equiv ="Content-Type"content ="text/html; charset = iso-8859-1"**
它没有用,所以我试图改变我的.htaccess(它是一个在apache下运行的RoR应用程序),但这是我的问题.通常我可以使用以下语句: AddType'text/html; charset = ISO-8859-1'html
但问题在于,正如大家都知道的那样,RoR没有"文件扩展名",这打破了这个.htaccess解决方案.有人知道在布局模板或视图中设置字符集的另一种方法吗?
我有一个在perl CGI中运行的大型Web应用程序.它运行正常,编写得很好,但是就像过去一样,所有的html都是在CGI调用中硬编码的,所以你可以想象,它很难保持,改进等等所以现在我想开始添加一些模板并与框架(催化剂或CGI ::应用程序)集成.我的问题是:这里有人有这样的经历吗?有什么我必须注意的事情吗?我知道使用这两个框架我可以运行原生CGI脚本,所以它很好,因为我可以同时运行这两个(CGI原生广告"框架"代码)而没有任何创伤.有小费吗?
我正在使用一些代码:
begin
require 'digest/hmac'
USE_EMBEDDED_HMAC = false
rescue
puts "HMAC, not found in standard lib." + $!.message
require 'hmac-sha1'
USE_EMBEDDED_HMAC = true
end
Run Code Online (Sandbox Code Playgroud)
正如我所看到的,至少在rails 1.8.6中它不是标准库的一部分.它是ruby 1.9 lib的一部分吗?如果没有,我应该安装任何宝石?
请注意,使用OpenSSL的解决方案将不被接受,因为无论如何它将在"require'digest/hmac'中失败"
有问题的代码在这里http://github.com/quetzall/cloud_cache/blob/master/lib/cloud_cache.rb
我可以将jquery事件绑定到此元素,如:
<script type="text/javascript">
$('#new_key').ready(function() {
alert('Handler for .submit() called.');
return false;
});
Run Code Online (Sandbox Code Playgroud)
它按预期工作
但如果我这样做:
<script type="text/javascript">
$('#new_key').submit(function() {
alert('Handler for .submit() called.');
return false;
});
Run Code Online (Sandbox Code Playgroud)
它不工作.有谁知道为什么?我错过了什么?
我正在使用随时为rails应用程序安排任务.
我有一个任务,如:
every 24.hours do
command "do_this"
rake "do_that"
end
Run Code Online (Sandbox Code Playgroud)
我的观点是,当我把它写到我的crontab时,每当-w,我看到它生成了两个同时运行的独立任务.问题是,两者在逻辑上都是一个序列,这意味着,只要命令"do_this"已经成功运行,rake任务"do_that"应该运行.
我尝试联系两个命令"do_this"&& rake"do_that",但我收到语法错误.
是否有任何技巧可以在任何时候创建任务之间的依赖?
crontab是否同时并行执行作业,还是处理队列中同时调度的N个任务?