我有其余的客户端gem,我正在定义这样的请求:
url = 'http://someurl'
request = {"data" => data}.to_json
response = RestClient.post(url,request,:content_type => :json, :accept => :json)
Run Code Online (Sandbox Code Playgroud)
但是我需要将HTTP标头设置为某种东西.例如API密钥.这可以在curl中完成:
curl -XHEAD -H x-auth-user: myusername -H x-auth-key: mykey "url"
Run Code Online (Sandbox Code Playgroud)
什么是在红宝石中做到这一点的最好方法?用这个宝石?或者我可以手动执行以获得更多控制权.
我理解如何在CoffeeScript中定义数组范围
lng[1..10]
Run Code Online (Sandbox Code Playgroud)
但是,如果我有
data = 10
Run Code Online (Sandbox Code Playgroud)
如果10在1和11的范围内,最好的方法是什么?
if data is between(1..11)
return true
Run Code Online (Sandbox Code Playgroud) 我在div中有一个传单地图,我喜欢这样:
<script src="http://cdn.leafletjs.com/leaflet-0.4/leaflet.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.4/leaflet.css" />
<!--[if lte IE 8]>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.4/leaflet.ie.css" />
<![endif]-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
Run Code Online (Sandbox Code Playgroud)
然后我有一个像这样的div:
一些加载地图的js:
map = L.map($attrs.id,
center: [40.094882122321145, -3.8232421874999996]
zoom: 5
)
L.tileLayer("http://{s}.tile.cloudmade.com/57cbb6ca8cac418dbb1a402586df4528/997/256/{z}/{x}/{y}.png",
maxZoom: 18
).addTo map
Run Code Online (Sandbox Code Playgroud)
然后在页面加载我有一些监视窗口高度和调整大小的JS:
$("#map").height($(window).height())
$(window).resize(_.throttle(->
$("#map").height($(window).height())
, 100
))
Run Code Online (Sandbox Code Playgroud)
但是,当地图加载时,一半的灰色加载.当我调整地图大小时加载正常,但初始加载是1/2灰色
我在谷歌地图应用程序上看到了一些非常奇怪的行为.我正在使用Backbone:
initialize: ->
osmMapType = new google.maps.ImageMapType(
getTileUrl: (coord, zoom) ->
"http://tile.openstreetmap.org/#{zoom}/#{coord.x}/#{coord.y}.png"
tileSize: new google.maps.Size(256, 256)
isPng: true
alt: "OpenStreetMap layer"
name: "OSM"
maxZoom: 19
)
cloudMadeMapType = new google.maps.ImageMapType(
getTileUrl: (coord, zoom) ->
"http://b.tile.cloudmade.com/a97cc0871d97477b911c3f9155a93ee7/26250/256/#{zoom}/#{coord.x}/#{coord.y}.png"
tileSize: new google.maps.Size(256, 256)
isPng: true
alt: "CloudMade layer"
name: "CMade"
maxZoom: 13
)
lat = 51.503
lng = -0.113
latlng = new google.maps.LatLng(lat, lng)
options =
zoom: 10
center: latlng
mapTypeId: 'OSM'
@gMap = new google.maps.Map(document.getElementById("map"), options)
@gMap.mapTypes.set('OSM', osmMapType)
@gMap.mapTypes.set('CloudMade', cloudMadeMapType)
@gMap.setMapTypeId(google.maps.MapTypeId.TERRAIN)
Run Code Online (Sandbox Code Playgroud)
我正在加载API:
<script …Run Code Online (Sandbox Code Playgroud) 我有一个Java库,我正在从中提取一些数据.
它出了一个3D数组.但是我无能为力.
[[D[]@5615a6e0
Run Code Online (Sandbox Code Playgroud)
是我得到的回应.我试过映射它:
{ |arr| arr.map { |arr| arr.to_a } }
Run Code Online (Sandbox Code Playgroud)
但我什么都没得到,解析这个java数组的最佳方法是什么?
我在rails中的lib文件夹中有一些模块,即:
/ LIB/MyApp的/ LIB/**
我正在开发它们,但每次我必须重新启动服务器.我在SO上遇到了很多不同的问题,但大多数问题都不适用于rails 3.1
我目前有一个初始化器,可以做到这一点;
if Rails.env == "development"
lib_reloader = ActiveSupport::FileUpdateChecker.new(Dir["lib/**/*"], true) do
Rails.application.reload_routes! # or do something better here
end
ActionDispatch::Callbacks.to_prepare do
lib_reloader.execute_if_updated
end
end
if Rails.env == "development"
lib_reloader = ActiveSupport::FileUpdateChecker.new(Dir["lib/myapp/lib/*"], true) do
Rails.application.reload_routes! # or do something better here
end
ActionDispatch::Callbacks.to_prepare do
lib_reloader.execute_if_updated
end
end
Run Code Online (Sandbox Code Playgroud)
有没有通用的方法来做到这一点?每次都要重启服务器非常耗时!
我有以下BootStrap popover:
<a href='#' id='example' rel='popover' data-placement='left' data-content='Its so simple to create a tooltop for my website!' data-original-title='Twitter Bootstrap Popover'>HEY</a>
Run Code Online (Sandbox Code Playgroud)
我希望在页面加载时显示它,所以我补充说
$('#example').popover('show')
Run Code Online (Sandbox Code Playgroud)
在文档末尾的函数如下:
<script>
$(function ()
{ $("#example").popover(show);
});
</script>
Run Code Online (Sandbox Code Playgroud)
但什么都没发生.
在页面加载时我什么都没得到.但是,当我$('#example').popover('show')在控制台中运行时,我得到了popover工作.如何在页面加载时显示popover?
我试图使用Ruby通过JSON/REST查询api.
require 'rubygems'
require 'rest-client'
require 'json'
###Request Build#####
url = 'http://site_name'
request ={
"format"=>'json',
"foo"=> {"first"=>1.1,"second"=>2.2},
"foo_1"=>300,
"foo_2"=>"speed",
"foo_3"=>[
{"id"=> "abc123", "first"=> 1.8, "second"=> 2.8},
{"id"=> "abc456", "first"=> -1.5, "second"=> 1.2}
]
}.to_json
### go go go ###
response = RestClient.post(url,request, :content_type => :json, :accept => :json)
puts response
Run Code Online (Sandbox Code Playgroud)
以上工作,它会查询api就好了.但是我正在使用的API文档说我应该使用":"代替"=>"
"format":'json',
"foo":{"first":1.1,"second":2.2},
"foo_1":300,
"foo_2":"speed",
"foo_3":[
{"id":"abc123", "first":1.8, "second":2.8},
{"id":"abc456", "first":-1.5, "second":1.2}
]
}
Run Code Online (Sandbox Code Playgroud)
当我使用它们时,我收到此错误:
new.rb:10: syntax error, unexpected ':', expecting tASSOC
"format":'json',
Run Code Online (Sandbox Code Playgroud)
我想知道为什么会这样?红宝石不喜欢用":"哈希吗?我问的原因是在foo_3上我有一个json文件我希望放入格式如下:
[{"id":"abc123","first":1.8, "second": 2.8},
{"id":"abc456","first":-1.5, "second": 1.2}] …Run Code Online (Sandbox Code Playgroud) 当人们注册应用程序时,我正在尝试使用https://github.com/tapajos/highrise/来更新用户帐户.但是我没有走得太远.
在控制台我正在做:
person = Highrise::Person.create(:name => "charlie")
Run Code Online (Sandbox Code Playgroud)
哪个节省很好,但如果我做了类似的事情
person = Highrise::Person.create(:name => "charlie", :email => "charlie@222.com")
Run Code Online (Sandbox Code Playgroud)
然后我得到:
Unprocessable Entity
Run Code Online (Sandbox Code Playgroud)
我无法理解这一点,我基本上想要添加一个完整的记录:
person = Highrise::Person.create(:name => "charlie", :params => {:contact_data => {:email_addresses => "charlie@222.com"}})
Run Code Online (Sandbox Code Playgroud)
但我仍然得到相同的错误,在网上找不到任何例子
ruby ×5
coffeescript ×2
google-maps ×1
highrise ×1
java ×1
javascript ×1
jquery ×1
jruby ×1
leaflet ×1
rest ×1
varnish ×1