我尝试调用API.我只想使用活动资源,所以我将这段代码放在一个简单的文件中.rb:
class Order < ActiveResource::Base
self.site = "http://localhost:3000/api/"
self.element_name = "order"
self.format = ActiveResource::Formats::XmlFormat
end
Run Code Online (Sandbox Code Playgroud)
当我调用这个文件谁应该做init时他给我一个错误:
$ ruby test/test_order.rb
test/test_order.rb:1:in `<main>': uninitialized constant ActiveRessource (NameError)
Run Code Online (Sandbox Code Playgroud)
我尝试创建一个新的rvm gemset并只安装activeresource
rvm gemset create delete_me
rvm use 1.9.3@delete_me
gem install activeresource
Run Code Online (Sandbox Code Playgroud)
他给我带来了同样的错误.我尝试使用ruby 1.9.2同样的错误.
我尝试的activeresource版本是3.1.3和3.2.6
谢谢.
我有一个mixin,它绘制一个这样的按钮:
@mixin button {
border: 1px solid $orange;
background: $orange;
padding:0;
height:27px;
text-transform: uppercase;
color:white;
display:block;
// if I'm styling an a tag padding-top:10px 10px 0 10px;
}
Run Code Online (Sandbox Code Playgroud)
我希望能够这样做:
button.my_button {
@include button;
}
a.my_button {
@include button;
}
Run Code Online (Sandbox Code Playgroud)
第二个需要一些额外的自定义代码才能很好地工作.是否可以在mixin中包含一个条件,检查我是否正在构建一个标签,或者我是否需要编写第二个mixin?
我有一个Angular 1.0应用程序,我被要求将其升级到1.3.2这两个版本之间的主要变化/新功能有哪些.最大的挑战是什么?
我知道这个问题有点广泛.我不知道如何缩小它.关于如何缩小评论范围的建议将非常受欢迎.
自从我沉迷于Java以来已经有几年了.回到它,我看到这个模式到处都是:
ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
// do work
}
});
Run Code Online (Sandbox Code Playgroud)
这看起来更像是函数式编程.这是一个很好的模式但是如何传递这样的方法呢?在过去,一个班级是一个班级,一旦编译,你几乎无法做到.
我的问题是:
谢谢.
浏览Rails代码库,我发现了很多对options.dup的引用.
def to_xml(options = {})
require 'builder' unless defined?(Builder)
options = options.dup
....
end
Run Code Online (Sandbox Code Playgroud)
显然,options.dup正在复制选项哈希,但为什么你希望在这种情况下这样做呢?
我通常做这样的事情,但如果感觉讨厌而且不是很干燥:
-if minutes == 1
added #{minutes} minute ago
-else
added #{minutes} minutes ago
Run Code Online (Sandbox Code Playgroud) 我希望能够命名我的控制器,而不是命名空间的网址.所以,例如,我希望能够在一个文件夹中拥有一个控制器,如:
app/controllers/abc/my_controller
Run Code Online (Sandbox Code Playgroud)
另一个在
app/controllers/def/my_controller
Run Code Online (Sandbox Code Playgroud)
我不希望路由包含/ abc或/ def,而是我使用约束来消除它们之间的歧义.Rails实现这一目标的方法是什么?
一些背景:我正在构建一个多域网站,约束是请求域.
我正在做这样的事情来检查一个参数是否在一个集合中,并设置一个默认值,如果不是.它看起来不必要地冗长:
allowed_types = [:poem, :product, :news, :facebook, :tweet]
@type = params[:type]
@type = :poem unless allowed_types.include?(@type)
Run Code Online (Sandbox Code Playgroud)
Ruby最直接的方法是什么?
我有一个接受块的方法,让我们称之为外部。它依次调用接受另一个块的方法,将其称为内部方法。
我希望发生的是外部调用内部,传递给它一个调用第一个块的新块。
这是一个具体的例子:
class Array
def delete_if_index
self.each_with_index { |element, i| ** A function that removes the element from the array if the block passed to delete_if_index is true }
end
end
['a','b','c','d'].delete_if_index { |i| i.even? }
=> ['b','d']
Run Code Online (Sandbox Code Playgroud)
传递给 delete_if_index 的块被传递给 each_with_index 的块调用。
这在 Ruby 中是否可行,更广泛地说,我们对接收它的函数中的块有多少访问权限?
如果我有一个JSON对象数组.D3如何确定哪一组进入enter()?
如果我有一个对象数组,如下所示:
var data = [
{label:'a', value:1},
{label:'b', value:3},
{label:'c', value:2}
]
Run Code Online (Sandbox Code Playgroud)
然后我将它绑定到选择:
var bars = vis.selectAll("rect.bar")
.data(data)
Run Code Online (Sandbox Code Playgroud)
该enter集现在包含所有这些数据.如果我现在更改数据:
var data = [
{label:'a', value:99},
{label:'c', value:2}
{label:'b', value:3},
]
Run Code Online (Sandbox Code Playgroud)
D3如何判断哪些值是更新,移动还是新的?它是在对象身份上完成的吗?有没有办法让它使用标签字段来填充输入集?
我有这样的代码.
if star
href = star_path( :"star[model]" => model.class, :"star[model_id]" => model.id ))
else
href = unstar_path( :"star[model]" => model.class, :"star[model_id]" => model.id ))
end
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它调用的是star_path或unstar_path帮助程序,但具有相同的参数.我很难重复这样的参数,感觉应该有更好的方法.
谢谢!