小编Cra*_*ker的帖子

有没有办法在Test :: Unit中撤消任何实例的Mocha存根

就像这个问题一样,我也在使用Ryan Bates的nifty_scaffold.它具有使用Mocha的any_instance方法强制在隐藏在控制器后面的模型对象中的"无效"状态的理想方面.

与我链接的问题不同,我不使用RSpec,而是使用Test :: Unit.这意味着这两个以RSpec为中心的解决方案对我来说不起作用.

是否有一般(即:使用Test :: Unit)方法来删除any_instance存根?我相信它在我的测试中造成了一个错误,我想验证一下.

ruby testing mocking stub mocha.js

25
推荐指数
1
解决办法
9305
查看次数

如何在Rails 3中实现批量插入

我需要将一组电子邮件作为不同的记录插入到我的联系人表中.如何才能做到这一点.

Eg: @email = ["a@b.com", "c@d.com", "e@f.com", ... ]
Run Code Online (Sandbox Code Playgroud)

我不想用.

  @email.each do |email|
     @contact = Contact.new
     @contact.email = email
     @contact.save
  end
Run Code Online (Sandbox Code Playgroud)

这导致n插入quires.我只需要一个插入查询来插入这些值.如何在rails 3.0.9(以及理想的MySQL)中完成.请帮忙

activerecord ruby-on-rails arel ruby-on-rails-3

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

如何比较Ruby 1.9中的两个文件?

在Ruby 1.8中,我将从"ftools"库中调用File.compare()来轻松比较两个文件的内容.

但是,在Ruby 1.9中,"ftools"被"fileutils"取代,后者没有"比较"方法.什么是等效电话?

ruby file-comparison ruby-1.9

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

是否可以在Ruby中定义具有默认参数的块?

这个问题涉及传递给Ruby块的可选参数.我想知道是否也可以使用默认值定义参数,以及它的语法是什么.

乍一看,似乎答案是"不":

def call_it &block
  block.call
end

call_it do |x = "foo"|
  p "Called the block with value #{x}"
end
Run Code Online (Sandbox Code Playgroud)

...结果是:

my_test.rb:5: syntax error, unexpected '=', expecting '|'
    call_it do |x = "foo"|
                   ^
my_test.rb:6: syntax error, unexpected tSTRING_BEG, expecting kDO or '{' or '('
      p "Called the block with value #{x}"
         ^
my_test.rb:7: syntax error, unexpected kEND, expecting $end
    end
       ^
Run Code Online (Sandbox Code Playgroud)

ruby arguments default-value ruby-1.9

20
推荐指数
2
解决办法
8066
查看次数

你把CSS边距放在哪里?

当你想在HTML元素之间添加空格(使用CSS)时,你附加了哪个元素?

我经常遇到这样的情况:

<body>
  <h1>This is the heading</h1>
  <p>This is a paragraph</p>
  <h1>Here's another heading</h1>
  <div>This is a footer</div>
</body>
Run Code Online (Sandbox Code Playgroud)

现在,假设我想要在每个元素之间留出1em的空间,但是没有高于第一个h1或低于最后一个div.我会附加哪些元素?

显然,这之间没有真正的技术差异:

h1, p { margin-bottom: 1em; }
Run Code Online (Sandbox Code Playgroud)

...还有这个...

div { margin-top: 1em; }
p { margin-top: 1em; margin-bottom: 1em }
Run Code Online (Sandbox Code Playgroud)

我感兴趣的是次要因素:

  1. 一致性
  2. 适用于所有情况
  3. 轻松/简单
  4. 易于做出改变

例如:在这个特殊情况下,我会说第一个解决方案比第二个更好,因为它更简单; 您只是在一个属性定义中将margin-bottom附加到两个元素.但是,我正在寻找更通用的解决方案.每次我做CSS工作,我都觉得有一个很好的经验法则适用......但我不确定它是什么.有没有人有一个好的论点?

css margin

17
推荐指数
1
解决办法
2630
查看次数

使用OpenID进行Web服务身份验证

我将为一个新的公共网站开发REST-ful Web服务.Web服务背后的想法是让第三方为业务逻辑开发功能齐全的UI.

出于安全原因,我希望避免用户将我们的服务密码提供给第三方应用程序.(也许这不应该是一个大问题?)相反,我希望在我们的网站上实现某种登录系统,为第三方应用程序提供身份验证令牌,但保持实际密码不在他们手中.

这让我觉得OpenID可能是一个潜在的解决方案.在我看来,它应该工作:实际的密码由OpenID提供商处理,因此它不在第三方应用程序.我认为问题可能在于各种各样的障碍,但这应该是可以控制的.

但是,有一个令人惊讶的缺乏Googleable信息,所以我想SO的意见.有没有人之前实现过类似的系统?它甚至可能吗?这值得吗?

openid web-services

16
推荐指数
1
解决办法
7671
查看次数

如何将输出管道输出到Visual Studio代码?

我想将命令的输出传递到Visual Studio Code中的新文本窗口.

通常,我会做这样的事情:

echo foo | code
Run Code Online (Sandbox Code Playgroud)

......但这似乎不起作用; VSCode启动但不显示输入.有没有办法在命令行上进行管道?

stdin pipe visual-studio-code

16
推荐指数
1
解决办法
7131
查看次数

从JavaScript的fetch中重读响应主体

fetch()返回promise(如果成功)解析为Response对象的promise .一个非常常见的事情是立即调用Response.json()将响应体转换为JSON对象.

如果响应主体无效JSON,则Response.json()承诺失败并显示错误.消息是这样的:

位于0的JSON中出现意外的标记X​​.

在尝试诊断问题时,这不是很有用; 理想情况下,我希望能够从服务器中看到内容(这通常是一条错误消息).

但是,您似乎只能Response.body一次阅读流(至少在Chrome中).(甚至还有一个只读Response.bodyUsed标志.)当Response.json()尝试将主体转换为JSON 时已经发生这种情况,因此在JSON解析失败的情况下,主体似乎永远丢失.

有没有办法恢复原始的响应体...当原始的fetchPromise结算时,没有手动读取它(然后转换为JSON)?

javascript json stream httpresponse fetch

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

Rails二进制流支持

我将很快启动一个项目,需要支持大型二进制文件.我想将Ruby on Rails用于webapp,但我关心的是BLOB支持.根据我使用其他语言,框架和数据库的经验,BLOB经常被忽略,因此具有差,难和/或错误的功能.

RoR是否充分支持BLOB?一旦你已经承诺使用Rails,是否有任何问题蔓延?

BTW:我想使用PostgreSQL和/或MySQL作为后端数据库.显然,底层数据库中的BLOB支持很重要.目前,我想避免专注于DB的BLOB功能; 我对Rails本身的反应更感兴趣.理想情况下,Rails应该隐藏数据库的详细信息,因此我应该可以从一个切换到另一个.如果不是这种情况(即:使用Rails与特定数据库存在一些问题),那么请提及它.

更新:另外,我不仅仅是在谈论ActiveRecord.我需要在HTTP端处理二进制文件(有效地上传文件).这意味着通过Rails访问适当的HTTP标头和流.我已更新问题标题和说明以反映这一点.

blob ruby-on-rails

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

为什么我的一些Rails路径助手有一个_index后缀?

我有一个Rails路由定义,看起来像这样:

namespace :admin do
  resources :feeds
  resources :push
end
Run Code Online (Sandbox Code Playgroud)

rake routes 为它生成以下输出:

admin_feeds GET  /admin/feeds  {:controller=>"admin/feeds", :action=>"index"}
admin_push_index GET  /admin/push  {:controller=>"admin/push", :action=>"index"}
Run Code Online (Sandbox Code Playgroud)

为什么路径助手push会获得_index后缀,但不是feeds

routes ruby-on-rails

14
推荐指数
2
解决办法
2810
查看次数