小编Nat*_*ong的帖子

Git变化丢失了 - 为什么?

我们的开发团队正在使用git,我们最近至少两次丢失了对文件的更改.我们正在使用私人Github回购.

在当前的情况下,我们可以返回Github上的日志并查看我对文件所做的一些更新.后来,另一个团队成员更改了文件的不同部分,似乎已经破坏了我的更改.我还在当地买它们.

还有其他人经历过这个吗?任何原因或解决方案?

我不认为有任何人做任何垫底或任何幻想-只需推拉.

git github

11
推荐指数
3
解决办法
5658
查看次数

Rails使用什么Ruby技术来使我的控制器方法呈现视图?

只是好奇是否有人知道在Rails框架中使用什么Ruby技术来完成以下操作.

如果我不在indexRails控制器上编写一个方法,如果URL匹配该路由,Rails仍将呈现索引视图文件.这是有道理的,因为我的控制器继承自父类,父类必须有自己的index方法.

但是,如果我做的定义index方法,并且只告诉它设置一个实例变量,但它仍然呈现相应的视图.例如:

def index
  @weasels = Weasel.all

  # If I omit this line, Rails renders the index anyway.
  # If this behavior is defined in the parent class's index method,
  # it seems that by overriding the method, my index wouldn't do it. 
  # I'm not explicitly calling super to get the method from 
  # ActionController::Base, but maybe Rails is doing something like that?
  render :index
end
Run Code Online (Sandbox Code Playgroud)

在纯Ruby中,我希望必须调用super才能获得该行为.

我假设Rails使用某种元编程技术来保证我的控制器方法会调用 …

ruby ruby-on-rails internals

11
推荐指数
1
解决办法
2922
查看次数

jQuery:有没有办法在没有任何文本移动的情况下为div的宽度设置动画?

我正在使用jQuery缩小div宽度,如下所示:

$('div#foo').animate({width: 0},someSpeed);
Run Code Online (Sandbox Code Playgroud)

虽然它正在缩小,但文字会回流以适应越来越薄的版本div.我不希望这种情况发生 - 我希望文本保持原样,只是随着宽度减小而从视图中消失,就像你做的那样$('div#foo').slideUp().

是否有CSS技巧或其他方式使这项工作?

css jquery animation

11
推荐指数
2
解决办法
4674
查看次数

如何排除与特定标签匹配的Rspec测试?

从命令行运行Rspec测试时,如何排除与特定标记匹配的测试?

ruby rspec

11
推荐指数
2
解决办法
3354
查看次数

为什么ActiveRecord的自动保存不能用于我的关联?

我有一个看起来像这样的ActiveRecord类.

class Foo
  belongs_to :bar, autosave: true
  before_save :modify_bar
  ...
end
Run Code Online (Sandbox Code Playgroud)

如果我做一些日志记录,我看到bar正在修改,但它的更改不会保存.怎么了?

ruby ruby-on-rails callback rails-activerecord

11
推荐指数
1
解决办法
5625
查看次数

嵌套关系是否应反映在JSON API的URL中?

我正在尝试遵循JSON API.我需要公开对嵌套资源的CRUD访问:产品评论.

在使用JSON API之前,我希望有一个这样的REST接口:

GET    /products/:product_id/reviews     - list reviews for a product
POST   /products/:product_id/reviews     - add a review for a product
PATCH  /products/:product_id/reviews/:id - update a review for a product
DELETE /products/:product_id/reviews/:id - delete a review for a product
Run Code Online (Sandbox Code Playgroud)

在规范中看到一些像这样的嵌套结构:

例如,照片评论的网址将为:

/photos/1/comments

但我不确定这种结构是否适合所有行动.

一方面,POST /products/:product_id/reviews如果我要在评论数据下指定POST主体中的产品,那么创建似乎是多余的relationships.

另一方面,如果在删除评论时指定产品ID很有用(可能不是),那么这DELETE /products/:product_id/reviews/:id似乎是唯一理智的方式; 人们争论是否允许请求正文进行DELETE请求.

我可以为一些请求而不是其他请求嵌套:

GET    /products/:product_id/reviews  - list reviews for a product
POST   /products/:product_id/reviews  - add a review for a product
PATCH  /reviews/:id                   - …
Run Code Online (Sandbox Code Playgroud)

json-api

11
推荐指数
1
解决办法
993
查看次数

在文件中查找和替换的好工具?

我正在从一个特定于Windows的PHP编辑器切换到VIM,其理念是"为一切使用一个编辑器,并且非常好地学习它".

但是,我在PHP编辑器中喜欢的一个功能是它的"查找和替换"功能.我可以通过两种方式处理事情:

  • 找到.搜索项目中的所有文件以查找字符串,查看列出的所有事件,然后单击以在该行中潜入该文件.
  • 用"bar" 盲目地替换所有出现的"foo".

当然,我可以使用GUI来说明什么类型的文件,是否查看子文件夹,是否区分大小写等.

我现在正试图近似这种能力,试图用bash将它拼凑起来是相当繁琐的.可行,但乏味.

对于Linux和/或Windows,有没有人知道这样的好工具?(如果可能的话,我真的更喜欢GUI.)或者失败了,一个能够很好地完成工作的bash脚本?(如果它列出文件名和行号并显示代码片段,那就太好了.)

linux windows vim bash replace

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

有没有办法在调试器中单步执行Rails应用程序?

有没有办法在处理请求时在调试器中单步执行Rails应用程序?

debugging ruby-on-rails

10
推荐指数
1
解决办法
4867
查看次数

我如何检查jQuery对象?

在jQuery 1.4.4中,如果我在Google Chrome控制台中执行此操作:

var divs = $('div');
Run Code Online (Sandbox Code Playgroud)

...我得到的东西似乎是一个DOM元素数组.但我知道它必须是一个jQuery对象,因为我可以链接jQuery方法:

divs.hide('slow').show('slow'); // etc
Run Code Online (Sandbox Code Playgroud)

我想看到的是jQuery对象,其中包含.fn列出其所有方法的属性等.我很确定我曾经能够看到这个.

如果我创建自己的对象,像这样:

var foo = {species: 'marmot', flavor: 'lemon'}
Run Code Online (Sandbox Code Playgroud)

...我可以在控制台中挖掘它的属性.

如何在控制台中检查jQuery对象?

另外,为了使它看起来像一个数组,正在做些什么?

更新 - 它确实发生了变化

如果我加载旧版本的jQuery - 例如,将其复制并粘贴到我的控制台中的空白选项卡中:

http://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js

......然后我这样做:

var divs = $('div');
Run Code Online (Sandbox Code Playgroud)

...我确实回来了jQuery.fn.jQuery.init,我可以在控制台中深入了解.从那时起,事情发生了变化.

jquery internals

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

为什么`a`标签需要`tabindex = 0`?

我正在开发一个Web应用程序,其中一个重复a(锚点)元素在我浏览页面时没有得到键盘焦点.只有我添加tabindex=0可以选项卡.

(虽然我的目标是使焦点可见,但我通过使用jQuery片段来确定元素是否获得焦点:

// Whenever I hit tab, show me which element has focus
$('main').on('keydown',function(e) { 
  var keyCode = e.keyCode || e.which; 

  if (keyCode == 9) { 
    console.log("focus is now on ", $(':focus'));
  } 
});
Run Code Online (Sandbox Code Playgroud)

)

这让我很困惑.根据规范,"tabindex属性也可以使任何元素成为交互式内容" - 但是a默认情况下它们列为交互式的一个.

再次,从可访问性文章:

[tabindex]值为0表示该元素应按默认导航顺序放置.这允许不可本机聚焦的元素(例如<div>,<span>和<p>)接收键盘焦点.当然,通常应该为所有交互元素使用链接和表单控件...(http://webaim.org/techniques/keyboard/tabindex)

当我浏览页面的交互元素时,会导致跳过锚元素的原因是什么?

html accessibility

10
推荐指数
1
解决办法
9731
查看次数