小编VP.*_*VP.的帖子

轨道单元测试 - 带回形针的模型

我正在尝试使用回形针为带有图片的模型编写测试.我正在使用测试框架默认,没有shoulda或rspec.在这种情况下,我该如何测试呢?我应该真的上传文件吗?我该如何在夹具中添加文件?

ruby unit-testing ruby-on-rails paperclip

33
推荐指数
2
解决办法
1万
查看次数

Python:单元测试基于套接字的代码?

我正在编写一个gevent.socket用于通信的Python客户端+服务器.有没有什么好方法可以测试代码的套接字级操作(例如,验证与无效证书的SSL连接是否会被拒绝)?或者只是spawn一个真正的服务器最简单?

编辑:我不相信"天真"的模拟将足以测试SSL组件,因为涉及复杂的交互.我错了吗?或者有更好的方法来测试SSL的东西吗?

python sockets testing gevent

19
推荐指数
3
解决办法
1万
查看次数

Rails中的动态常量定义

我使用以下语法在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 metaprogramming ruby-on-rails

19
推荐指数
3
解决办法
1万
查看次数

在ruby 1.9和CSV :: Writer中编写csv

我有一个与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合并.

ruby ruby-1.9

18
推荐指数
1
解决办法
3万
查看次数

rails Active Record中的attr_accessible

当我使用它attr_accessible来指定我的模型I中的哪些字段将公开时,脚本/控制台也是如此?我的意思是我没有指定的东西attr_accessible也不能通过控制台访问?

ruby activerecord ruby-on-rails attr-accessible

10
推荐指数
3
解决办法
2万
查看次数

在rails应用程序中设置charset

我正在尝试在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解决方案.有人知道在布局模板或视图中设置字符集的另一种方法吗?

html apache ruby-on-rails character-encoding

8
推荐指数
1
解决办法
8531
查看次数

将CGI迁移到框架的最佳方法是什么?

我有一个在perl CGI中运行的大型Web应用程序.它运行正常,编写得很好,但是就像过去一样,所有的html都是在CGI调用中硬编码的,所以你可以想象,它很难保持,改进等等所以现在我想开始添加一些模板并与框架(催化剂或CGI ::应用程序)集成.我的问题是:这里有人有这样的经历吗?有什么我必须注意的事情吗?我知道使用这两个框架我可以运行原生CGI脚本,所以它很好,因为我可以同时运行这两个(CGI原生广告"框架"代码)而没有任何创伤.有小费吗?

model-view-controller perl cgi catalyst

7
推荐指数
1
解决办法
521
查看次数

digest/hmac是ruby标准库的一部分

我正在使用一些代码:

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

ruby gem hmac

7
推荐指数
2
解决办法
5824
查看次数

jQuery事件处理程序不起作用

我可以将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)

它不工作.有谁知道为什么?我错过了什么?

javascript jquery

7
推荐指数
1
解决办法
3596
查看次数

随时随地安排顺序任务

我正在使用随时为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个任务?

ruby cron ruby-on-rails whenever

7
推荐指数
1
解决办法
1829
查看次数