有一个文件被跟踪git,但现在该文件在.gitignore列表中.
但是,该文件在git status编辑后会一直显示.你怎么强迫git完全忘掉它?
git submodule add -b工作怎么样?
添加具有特定分支的子模块后,新的克隆存储库(之后git submodule update --init)将处于特定提交,而不是分支本身(git status在子模块上显示"当前不在任何分支上").
我无法找到任何信息.gitmodules或.git/config关于子模块的分支或任何具体的承诺,那么,如何Git的数字出来?
此外,是否可以指定标签而不是分支?
我正在使用1.6.5.2版.
我正在使用十进制列来存储数据库中的货币值,而今天我想知道要使用的精度和规模.
因为据说固定宽度的char列效率更高,我认为对于十进制列也是如此.是吗?
我应该使用什么精度和规模?我正在考虑精确24/8.这有点矫枉过正,还不够或没问题?
这就是我决定做的事情:
DECIMAL(19,4)我不认为转换率的浮点数是一个问题,因为它主要用于参考,我将把它转换为十进制.
谢谢大家的宝贵意见.
有没有一种简单的方法将Nokogiri XML文档转换为Hash?
像Rails这样的东西Hash.from_xml.
这让我疯了.
如何查找已删除的代码?
我最终找到了它的创建地点:
$ git log --pretty=oneline -S'some code'
Run Code Online (Sandbox Code Playgroud)
这还不错,但我也很想知道它被删除的地方,到目前为止,没有骰子.
首先,我尝试了git diff HEAD..HEAD^|grep 'some code',每次扩大范围,直到找到它被移除的线.尼斯,所以假设我发现它的范围HEAD^^..HEAD^^^,然后我做的git show HEAD^^^和git show HEAD^^用grep,但代码是无处可寻!
然后我读了一下git bisect,果然,它给了我一个修正案,罪魁祸首应该是...再次,git show rev|grep 'some code'空出来......
什么?我究竟做错了什么?
谢谢!
如果我将一个after_save回调添加到ActiveRecord模型,并且在该回调上我使用update_attribute来更改对象,则再次调用回调,因此发生"堆栈溢出"(hehe,无法抗拒).
是否可以避免这种行为,可能在执行期间禁用回调?或者还有另一种方法吗?
谢谢!
在与冲突合并时,有没有办法告诉git为一组文件保留一个版本?
$ git checkout some_branch
$ git merge origin/master
$ ?
Run Code Online (Sandbox Code Playgroud) 我用以下代码观察了一些奇怪的行为:
$.fn.submit_to_remote = function() {
// I use .each instead of the .submit directly so I can save
// the 'submitEnabled' variable separately for each form
jQuery.each($(this), function() {
$(this).submit(function() {
form = $(this);
if (form.data('submitEnabled') == false) { alert('disabled'); return false; }
form.data('submitEnabled', false);
$.ajax({type: 'POST', url: 'url', data: data, dataType: 'script',
success: function(script) {
alert('success')
}
})
return false;
})
})
}
$('.submit_to_remote').submit_to_remote();
Run Code Online (Sandbox Code Playgroud)
因此,基本上,在表单上调用submit_to_remote时,它将禁用它的正常提交,然后发出AJAX POST请求.
奇怪的是,表单会多次发布,因为"禁用"警报会显示.正如您所看到的,我通过使用保存在表单对象上的"变量"并检查该变量以查看表单是否已提交来阻止这种情况.
经过进一步测试,似乎罪魁祸首是AJAX调用返回的脚本.让我解释一下我正在做什么,所以它更清楚.
表单将发布到服务器,并返回一个脚本.该脚本再次显示该表单,但这次显示某些字段的错误消息.请注意,表单已完全替换.
显示新表单时,脚本执行以下操作:
$('.submit_to_remote').submit_to_remote();
Run Code Online (Sandbox Code Playgroud)
我必须这样做,因为否则,当您再次单击提交按钮时,表单正常提交,没有AJAX.
因此,假设用户提交表单并将其返回并显示相应的错误(未显示"已禁用"警报).然后他再次提交; 这次"禁用"警报会显示一次.现在他再次提交它,这次警报显示两次!等等...
因此,似乎每次请求都会一次又一次地附加.submit回调,但为什么呢?
可能是因为使用.html()原始形式被保存为鬼或什么的?
谢谢!
PS:如果它是相关的,这是$ .ajax调用返回的脚本: …
我已经离开Rails一段时间了,所以也许我错过了一些简单的东西.
你怎么能做到这一点:
<%= yield_or :sidebar do %>
some default content
<% end %>
Run Code Online (Sandbox Code Playgroud)
甚至:
<%= yield_or_render :sidebar, 'path/to/default/sidebar' %>
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,我正在尝试:
def yield_or(content, &block)
content_for?(content) ? yield(content) : yield
end
Run Code Online (Sandbox Code Playgroud)
但是这会引发"无阻塞"错误.
在第二种情况:
def yield_or_render(content, template)
content_for?(content) ? yield(content) : render(template)
end
Run Code Online (Sandbox Code Playgroud)
这在没有定义内容时有效,但只要我使用content_for覆盖默认内容,它就会抛出相同的错误.
我用这个作为起点,但它似乎只有在视图中直接使用时才有效.
谢谢!
我有一个特定的数据操作要求,我已经解决了如何在SQL Server和PostgreSQL中做.但是,我对速度不太满意,所以我正在调查MongoDB.
描述查询的最佳方法如下.描绘美国的分层数据:国家,州,县,市.假设一个特定的供应商可以为整个加州服务.另一个可能只服务于洛杉矶.可能有数十万个供应商,他们都可以从这个层次结构中的某些点进行服务.我并没有把它与Geo混淆 - 我用它来说明需要.
使用递归查询,可以很容易地获得可以为特定用户提供服务的所有供应商的列表.如果他是在说帕萨迪纳,美国加利福尼亚州洛杉矶,我们会走到层次得到应用的ID,然后查询回落,找到供应商.
我知道这可以优化.同样,这只是一个简单的查询示例.
我知道MongoDB是一个文档存储.这非常适合我的其他需求.问题是它对我描述的查询类型有多适合?(我知道它没有连接 - 这些是模拟的).
我知道这是一个"一段字符串多长时间"的问题.我只是想知道是否有任何人有使用MongoDB做这种事情的经验.从0到测试可能需要一段时间,如果MongoDB不适合这个,我希望节省时间.
例
当地的电影商店"A"可以在斯普林菲尔德供应Blu-Rays.具有全州分布的连锁店"B"可以向所有IL提供Blu-Rays.按需下载商店"C"可以供应给所有美国用户.
如果我们想要获得伊利诺斯州斯普林菲尔德的所有适用电影供应商,那么答案将是[A,B,C].
换句话说,在层次结构上有许多不同级别的供应商.