我想将seeds.rb文件分成多个部分以便于维护; 在a.rb中播放所有A,在b.rb中播放B等.单独的文件位于带有seeds.rb的db /目录中.每个文件都包含一堆"A.create"或"B.create"调用,我想从seeds.rb调用这些文件.
我试过了:
include 'a'
include 'b'
Run Code Online (Sandbox Code Playgroud)
和
load 'a.rb'
load 'b.rb'
Run Code Online (Sandbox Code Playgroud)
在我的seeds.rb中,但当我调用"rake db:seed"时,它们似乎没有被处理.这可能更像是一个直接的ruby问题而不是rails问题,但为了完整性我在Mac上使用Ruby 1.9.2和Rails 3.
我需要的是: 我们在response.d中具有逗号分隔值的价值.现在我想将response.d的数据导出到.csv文件.
我写了这个函数来执行此操作.我已收到response.d中的数据但未导出到.csv文件,因此请为此问题提供解决方案以导出.csv文件中的数据.
function BindSubDivCSV(){
$.ajax({
type: "POST",
url: "../../WebCodeService.asmx / ShowTrackSectorDepartureList",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response.d);//export to csv function needed here
},
error: function (data) {}
});
return false;
}
Run Code Online (Sandbox Code Playgroud) 我在项目中使用Struct而不是简单的Hash来为一组键值对提供语义名称.但是,一旦我构建了结构,我就需要输出一个哈希值.我在Ruby 1.9.3.例:
MyMeaninfulName = Struct.new(:alpha, :beta, :gamma) do
def to_hash
self.members.inject({}) {|h,m| h[m] = self[m]; h}
end
end
my_var = MyMeaningfulName.new
my_var.to_hash # -> { :alpha=>nil, :beta=>nil, :gamma=>nil }
Run Code Online (Sandbox Code Playgroud)
Struct有没有包含to_hash方法的原因?这看起来很自然,但也许有一个潜在的原因,为什么它不包括在内.
其次,是否有更优雅的方法来构建一个通用的to_hash方法到Struct(通常,通过monkeypatching,或通过模块或继承).
我有一个生产中的某个文件,我无法访问它,当由ruby脚本加载时,针对内容的正则表达式失败了ArgumentError => invalid byte sequence in UTF-8.
我相信我有一个基于所有要点的答案:ruby 1.9:UTF-8中的无效字节序列
# Remove all invalid and undefined characters in the given string
# (ruby 1.9.3)
def safe_str str
# edited based on matt's comment (thanks matt)
s = str.encode('utf-16', 'utf-8', invalid: :replace, undef: :replace, replace: '')
s.encode!('utf-8', 'utf-16')
end
Run Code Online (Sandbox Code Playgroud)
但是,我现在想构建我的rspec以验证代码是否有效.我无法访问导致问题的文件,所以我想以编程方式创建一个带有错误编码的字符串.
我尝试过以下方面的变化:
bad_str = (100..1000).to_a.inject('') {|s,c| s << c; s}
bad_str.length.should > safe_str(bad_str).length
Run Code Online (Sandbox Code Playgroud)
要么,
bad_str = (100..1000).to_a.pack(c*)
bad_str.length.should > safe_str(bad_str).length
Run Code Online (Sandbox Code Playgroud)
但长度总是一样的.我也尝试过不同的角色范围; 并不总是100到1000.
有关如何在ruby 1.9.3脚本中使用无效编码构建字符串的任何建议?
我有一个 go 服务,它向我无法控制的 HTTP 服务器发出 REST 请求。一位客户要求我“确认”我的服务是通过 TLS 1.2 连接的。这是我可以在代码中做的事情吗?
当前代码如下所示:
request, _ := http.NewRequest("PUT",
"https://example.com/path/to/endpoint",
bytes.NewReader(json))
client := &http.Client{}
response, _ := client.Do(request)
defer response.Body.Close()
str, err := ioutil.ReadAll(response.Body)
Run Code Online (Sandbox Code Playgroud)
基于对文档的快速阅读,我相信我需要使用 aTransport并使用该传输构建我的客户端。像这样的东西:
tr := &http.Transport{
... some options here ...
}
client := &http.Client{Transport: tr}
Run Code Online (Sandbox Code Playgroud)
但我不确定我应该设置哪些选项。
我正在尝试使用D3中的力布局来构建图形.我想根据数据构建不同的外观节点.目前,所有节点都有一个类别和一个名称.所以我绘制了一个svg:g由两个rect和两个text元素组成的元素.
我的代码目前看起来像这样:
// nodes are in the form: { group: 'string', name: 'string2' }
this.node = this.node.data(this.node, function(d) { return d.id; });
var g = this.node.enter().
append('svg:g').
attr('transform', function(d) { return 'translate('+ d.x +','+ d.y +')'; });
g.append('svg:rect').attr('h', 20).attr('w', 100);
g.append('svg:rect').attr('y', 20).attr('h', 20).attr('w', 100);
g.append('svg:text').text(function(d) { d.group; });
g.append('svg:text').attr('y', 20).text(function(d) { d.name; });
Run Code Online (Sandbox Code Playgroud)
如果节点没有名字,但是,我想剿第二的创建rect和text.从逻辑上讲,如果它不是d3中的隐式迭代器,我会做类似的事情:
var g = this.node.enter().
append('svg:g').
attr('transform', function(d) { return 'translate('+ d.x +','+ d.y +')'; });
g.append('svg:rect').attr('h', …Run Code Online (Sandbox Code Playgroud)