小编sni*_*tko的帖子

RSpec与黄瓜(RSpec故事)

什么时候我应该使用Rails应用程序的规格和黄瓜(前rspec故事)?当然,我知道如何工作和积极使用规范.但使用黄瓜仍然感觉很奇怪.我目前对此的看法是,当您为客户端实现应用程序并且不了解整个系统应该如何工作时,使用Cucumber很方便.

但是,如果我正在做自己的项目呢?在大多数情况下,我知道系统的各个部分是如何相互作用的.我需要做的就是写一堆单元测试.那时我需要黄瓜的可能情况是什么?

并且,作为相应的第二个问题:如果我写黄瓜故事,我是否必须编写规范?难道不是同一件事的双重测试吗?

integration-testing unit-testing rspec cucumber rspec-stories

136
推荐指数
5
解决办法
3万
查看次数

git rebase和git push:非快进,为什么要使用?

我有一个应该可供其他贡献者使用的分支,并且应该始终与主人保持同步.

不幸的是,每当我做'git rebase'然后尝试推动时,它会导致'非快速前进'信息和推动堕胎.推动这里的唯一方法是使用--force.这是否意味着如果我的分支公开并且其他人正在研究它,我应该使用'git merge'而不是rebased?

git merge rebase

68
推荐指数
1
解决办法
4万
查看次数

ExecJS :: ProgramError:运行rake资产时出现意外的令牌punc«(»,预期的punc«:»生产时的预编译

部署我的Rails应用程序时,我收到以下错误:

rake aborted!
   ExecJS::ProgramError: Unexpected token punc «(», expected punc «:» (line: 15, col: 14, pos: 265)

   Error
   at new JS_Parse_Error (/tmp/execjs20150524-4411-1p45n63js:2359:10623)
   at js_error (/tmp/execjs20150524-4411-1p45n63js:2359:10842)
   at croak (/tmp/execjs20150524-4411-1p45n63js:2359:19086)
   at token_error (/tmp/execjs20150524-4411-1p45n63js:2359:19223)
   at expect_token (/tmp/execjs20150524-4411-1p45n63js:2359:19446)
   at expect (/tmp/execjs20150524-4411-1p45n63js:2359:19584)
   at /tmp/execjs20150524-4411-1p45n63js:2359:28513
   at /tmp/execjs20150524-4411-1p45n63js:2359:19957
   at expr_atom (/tmp/execjs20150524-4411-1p45n63js:2359:27269)
   at maybe_unary (/tmp/execjs20150524-4411-1p45n63js:2359:30019)new JS_Parse_Error ((execjs):2359:10623)
   js_error ((execjs):2359:10842)
   croak ((execjs):2359:19086)
   token_error ((execjs):2359:19223)
   expect_token ((execjs):2359:19446)
   expect ((execjs):2359:19584)
   (execjs):2359:28513
   (execjs):2359:19957
   expr_atom ((execjs):2359:27269)
   maybe_unary ((execjs):2359:30019)
Run Code Online (Sandbox Code Playgroud)

有问题的文件是有效的,它适用于localhost.我也试过rake assests:precompile在localhost上运行,一切都通过了.最后,我试图从文件中删除内容,git push和redeploy - 仍然得到相同的错误.只有完全删除文件并重新部署帮助.

会欣赏任何想法.

javascript git deployment ruby-on-rails execjs

62
推荐指数
7
解决办法
3万
查看次数

为什么解释的langs在编译时大部分都是鸭子型的?

我只是不知道,有什么技术原因吗?为弱键入的语言实现编译器是否更难?它是什么?

compiler-construction programming-languages interpreted-language

44
推荐指数
5
解决办法
6977
查看次数

IE尝试在提交包含文件的jQuery多部分表单数据时下载json响应

我试图file通过jQuery.Form插件提交一个带有字段的表单,这里是代码:

$('form').ajaxSubmit({
  url: "/path",
  dataType: "json",
  contentType: "multipart/form-data"
...
Run Code Online (Sandbox Code Playgroud)

然后服务器返回json作为响应.在除IE之外的所有浏览器中都很好用,它试图将响应下载为文件.如果我从表单中删除文件字段,它也可以正常工作.

我在这里和谷歌已经看到了各种解决方案,基本上几乎尝试了所有描述的内容,包括enctype通过jQuery 设置表单,但它没有用.

任何建议都会受到欢迎.

ajax internet-explorer json multipartform-data jqueryform

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

从宝石到处可以进行rake任务吗?

所以我正在写一个小宝石,我有一个'/ tasks'目录,里面有一些特定的rake任务.如何在需要宝石的地方自动提供这些任务?例如,我希望在安装gem之后可以在rails root目录中运行'rake mygemrake:task'.

ruby rake

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

Devise中sign_in页面的路径助手的名称是什么?

我在文档中找不到这个.我发现的只是一种after_sign_in_path_for方法.我想要的是这样的东西,sign_in_path_for(:account)所以我不必硬编码"/ account/sign_in"路径.如果Devise有这样的事情,任何想法?

ruby-on-rails devise

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

如何制作一个可选的强参数键仍然可以过滤嵌套在其中的参数?

我在我的控制器中有这个:

params.require(:item).permit!
Run Code Online (Sandbox Code Playgroud)

让我们假设这个rspec规范:

put :update, id: @item.id, item: { name: "new name" }
Run Code Online (Sandbox Code Playgroud)

它按预期工作,没有错误.但是,如果我使用这个:

put :update, id: @item.id, item: nil
Run Code Online (Sandbox Code Playgroud)

我得到ActionController::ParameterMissing了我不想得到的东西.它与我用于其他操作的控制器宏有关,通过它我无法控制被发送的参数(宏检查用户凭据,因此我并不真正关心实际测试#update操作,而是我只测试before_filters for它).

所以我的问题是:如果它存在的话,如何在其中制作params[:item]可选但仍然过滤的属性?

ruby strong-parameters ruby-on-rails-4

21
推荐指数
1
解决办法
8535
查看次数

如何在xml文档中包含Javascript?

这个任务似乎很简单:如何在xml文档中包含一个Javascript文件,以便至少Opera和Firefox可以实际解析它并执行代码?

javascript xml

18
推荐指数
4
解决办法
5万
查看次数

通过原型对象或构造函数设置方法,区别?

你能解释一下构造函数中的设置方法和原型对象之间的区别吗?下面的代码显示设置方法的这两种方式- say_hello而且say_bye都很好地工作:

function MessageClass() {
  this.say_bye = function() { alert('see ya'); };
}

MessageClass.prototype.say_hello = function() { alert('hello'); };

x = new MessageClass();
x.say_hello();
x.say_bye();
Run Code Online (Sandbox Code Playgroud)

javascript constructor prototype

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