我一直在尝试在Mac OS 10.9.3上安装Nokogiri,无论我尝试什么,安装最终都会失败,并显示以下错误消息:
$ sudo gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib
Building native extensions with: '--with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib'
This could take a while...
Building nokogiri using packaged libraries.
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib
Building nokogiri using packaged libraries.
checking for iconv.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
checking for libiconv_open() in iconv.h... no
checking for …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个使用Rspec 2作为测试库的最新开源应用程序.我想看看一位经验丰富的开发人员如何正确地利用该库来测试整个堆栈,因为我对自己的知识一直存在疑问(来自testunit,部分原因是由于最新Rspec版本的相当稀疏的文档,甚至虽然它不断改进).
如果一个项目会使用Cucumber,Pickle和/或Capybara以及Rspec 2,那么你会让我欢欣鼓舞.
有什么指针吗?
干杯!
是否可以在同一哈希中的另一个元素中引用哈希中的一个元素?
# Pseudo code
foo = { :world => "World", :hello => "Hello #{foo[:world]}" }
foo[:hello] # => "Hello World"
Run Code Online (Sandbox Code Playgroud) 通常滚动条的位置如下:
________________________________________
| | |
| content | scrollbar |
| | |
| | |
| | |
| | |
|__________________________|___________|
Run Code Online (Sandbox Code Playgroud)
我基本上希望在"自定义"滚动条和可滚动容器的外边界之间有一个间隙:
________________________________________
| | | |
| content | scrollbar | gap |
| | < | |
| | | |
| | | |
| | | |
|____________________|___________|_____|
Run Code Online (Sandbox Code Playgroud)
使用margin-righton ::-webkit-scrollbar或者::-webkit-scrollbar-track-piece失败并且为Webkit声明样式滚动条的声明:
沿滚动条的轴支持边距.它们可以是负的(例如,轨道可以例如被充气以部分地覆盖按钮).
我现在想知道是否有人设法通过其他方式将滚动条"推入"内容(或包含在内容中)margin.
我假设这可能只是(甚至)使用某种技巧 - 任何想法?
我已经尝试过失败其他的事情是padding-right: 10px和border-right: 10px solid rgba(255, 255, 255, 0)(透明边框).
我试图确保我的模型的一个字段是一个布尔值,但我的测试仍然失败.
阅读本文后:验证Rspec和Rails中的布尔值以及此Rails:如何验证某些内容是否为布尔值?我最终这样做了:
class Model < ActiveRecord::Base
validates :my_field, :inclusion => { :in => [true, false] }
end
Run Code Online (Sandbox Code Playgroud)
我已经尝试过几种不同的测试方法(使用rspec和shoulda匹配器),并且由于我的测试一直在失败,我现在正处于最愚蠢的可能(?)方式.仍然,测试没有通过,我猜测有一些机制可以在某处转换价值.
以下是我用来了解发生了什么的事情:
# create instance without setting value ...
# these work as expected
model_instance.valid?.should be_false # passes
model_instance.my_field = true
model_instance.valid?.should be_true # passes
model_instance.my_field = false
model_instance.valid?.should be_true # passes
# works as expected
model_instance.my_field = ""
model_instance.valid?.should be_false # passes
# these should pass but fail
model_instance.my_field = "foo"
model_instance.my_field.should == "foo" # fails as well, …Run Code Online (Sandbox Code Playgroud) TypeError:表达式'this._configure'[undefined]的结果不是函数.
每次扩展Backbone.View时,我都会遇到此错误
我的app结构如下:
//index.js
$(function(){
window.Project = Backbone.Model.extend({});
window.ProjectCollection = Backbone.Collection.extend({});
window.projects = new ProjectCollection;
window.ProjectView = Backbone.View.extend({});
window.view = ProjectView({});
window.view.render();
});
Run Code Online (Sandbox Code Playgroud)
即使有这个空白结构,我仍然会收到错误,当我填写所有代码时,我得到完全相同的错误
我错过了依赖吗?在我的index.html中,我按顺序加载以下内容:
jquery.js
underscore.js
backbone.js
(and at the bottom of my body) index.js
Run Code Online (Sandbox Code Playgroud)
如果我从变量中取出"窗口",我会得到同样的错误.
无论我如何处理backbone.js我都会遇到同样的错误...我该如何解决这个问题?
我刚刚在新机器上安装了RVM,当切换到包含.rvmrc文件的目录时(我接受了)我得到了:
ERROR: Neither sha256sum nor shasum found in the PATH
Run Code Online (Sandbox Code Playgroud)
我在OS X 10.5.8上. - 可能在某处丢失了某些东西.有什么想法,以及如何解决这个问题?
我有以下情况 -
window.Wine = Backbone.Model.extend({
urlRoot: '/wines'
});
window.WineCollection = Backbone.Collection.extend({
model: Wine,
url: "/wines"
});
Run Code Online (Sandbox Code Playgroud)
我有一个模型和相应的集合定义.
window.WineListView = Backbone.View.extend({
el: '#wineList',
initialize: function () {
this.model.bind("reset", this.render, this);
this.model.bind("add", function (wine) {
alert("model added");
});
},
render: function (eventName) {
_.each(this.model.models, function (wine) {
$(this.el).append(new WineListItemView({
model: wine
}).render().el);
}, this);
return this;
}
});
window.WineListItemView = Backbone.View.extend({
tagName: "li",
initiliaze: function () {
this.render();
},
render: function (eventName) {
var template = _.template($('#wine-list-item').html());
$(this.el).html(template(this.model.toJSON()));
return this;
}
}); …Run Code Online (Sandbox Code Playgroud) 如上所述,这种情况发生在Safari中,而在Chrome和Firefox中它运行良好.
我认为这是因为变成json的对象有两个包含moment对象的属性.我将它们更改为日期对象并stringify传递了函数.
奇怪的是,如果我尝试这样做JSON.stringify(moment())是有效的,所以我不知道如何调试它并找到问题所在.
以下是Safari中错误的屏幕截图:

编辑:
经过一些调试后,我发现dhtmlxwindow onclose事件发生后会发生此错误.我在一个dhtmlx窗口中加载一个局部视图,在那里我创建了这个对象,在关闭窗口之前,该对象被推入一个初始化为父视图的列表中.
在我关闭窗口之前我做了,JSON.stringify(parent.addedContracts)并且在onclose事件发生后它工作正常(我没有覆盖代码)列表具有相同的对象(我检查了所有属性)但是stringify同一列表失败.
编辑:
创建添加到列表中的对象如下:
var contractStartDate = moment(contractStartDateCalendar.getDate(true), "L");
var contractEndDate = moment(contractEndDateCalendar.getDate(true), "L");
var newContract = {
Id : uniqueId,
FunctionDesc : $("#contractFunction").val(),
ContractHours : $("#contractHours").val(),
AdditionalCostFactor: $("#contractAdditionalCostFactor").val().replace(',', '.'),
VacationFormula : contractHolidayCostFactor,
StartDate : contractStartDate,
EndDate : contractEndDate,
Notes : Encoder.htmlEncode(tinyMCE.get('contractNotes').getContent()),
DaysOfWeek : workingDaysString,
PlusMinus : $("#contractTypeDropdown option:selected").data("plusminus"),
SalaryCalculation : $("#contractTypeDropdown option:selected").data("salarycalculation"),
ContractTypeId : $("#contractTypeDropdown").val(),
ContractTypeName : $("#contractTypeDropdown option:selected").text(), …Run Code Online (Sandbox Code Playgroud) 每当调用模型生成器时,我都想从gem运行生成器.
下列
require 'rails'
module Mygenerator
class Railtie < Rails::Railtie
config.app_generators.orm :my_generator
end
end
Run Code Online (Sandbox Code Playgroud)
正确调用我的生成器,但Rails的本机生成器不再运行.
我假设我可以运行本机生成器invoke,但这似乎过于复杂.那么ORM的所有其他发电机怎么样?
有没有更好的方法将我的发电机"附加"到现有发电机?
更新:
这自然有效 - 但我仍然希望有更清洁的东西:
module Rails
module Generators
class ModelGenerator < NamedBase
def run_my_custom_generator
invoke "my_generator:foo"
end
end
end
end
Run Code Online (Sandbox Code Playgroud)