我有两个阵列:
members = ["Matt Anderson", "Justin Biltonen", "Jordan Luff", "Jeremy London"]
instruments = ["guitar, vocals", "guitar", "bass", "drums"]
Run Code Online (Sandbox Code Playgroud)
我想要做的是组合这些,以便生成的数据结构像这样的哈希:
{"Matt Anderson"=>["guitar", "vocals"], "Justin Biltonen"=>"guitar", "Jordan Luff"=>"bass", "Jeremy London"=>"drums"}
Run Code Online (Sandbox Code Playgroud)
请注意,"Matt Anderson"的值现在是数组而不是字符串.任何Ruby巫师都在关注这个问题吗?
我知道几乎按照我想要的方式Hash[*members.zip(instruments).flatten]将它们组合在一起,但是首先将"吉他,人声"字符串转换为数组呢?谢谢.
我正在使用Active Admin为某些模型提供管理员.我需要为其中一个提供自定义的新表单,但将编辑表单保留为Active Admin提供的默认表单.这就是我所拥有的.它的工作原理是它给了我想要的新表单,但编辑表单也使用了新表单,这不是我想要的:
ActiveAdmin.register Document do
form :partial => 'form'
end
Run Code Online (Sandbox Code Playgroud)
我试过这个,但它给出了一个错误,'new'是一个未定义的方法:
ActiveAdmin.register Document do
new do
form :partial => 'form'
end
end
Run Code Online (Sandbox Code Playgroud) 刚刚安装了Lion,我的PATH env变量不再由〜/ .MacOSX/environment.plist设置.有什么变化吗?似乎找不到任何关于它或如何修复的信息.有任何想法吗?
这是PLIST的内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PATH</key>
<string>/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11/bin:/Users/mdi/bin</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud) 我有一个关于在Sinatra上使用机架安装的问题.我有两个经典风格的Sinatra应用程序.让我们调用app.rb中定义的一个App和api.rb中定义的另一个API.
我希望它能让api.rb处理所有以'/ api'开头的路由,而app.rb会处理所有其他请求,包括root('/').
如何使用机架安装进行设置?或者有更好的解决方案吗?
我在网上搜索了文档和其他地方,似乎无法想出为法拉第设置超时选项的正确方法.有人有答案吗?
我试过了:
conn = FaradayStack.build(url)
conn.headers[:user_agent] = AppConfig.user_agent
# conn.options[:timeout] = 20
# conn.options[:open_timeout] = 20
response = conn.get do |req|
req.options = {
:timeout => 20,
:open_timeout => 20
}
end
response.body
Run Code Online (Sandbox Code Playgroud)
似乎没有什么工作.顺便说一句,我使用Typhoeus适配器,如果这有所作为.
当尝试访问数组数组深处的元素时,如果元素不存在,避免出现错误“undefined method `[]” for nil:NilClass”的最佳方法是什么?
例如,我目前正在这样做,但对我来说似乎很糟糕:
if @foursquare['response']['groups'][0].present? && @foursquare['response']['groups'][0]['items'].present?
Run Code Online (Sandbox Code Playgroud) 使用RSpec,我想测试在方法中调用某些方法.采用以下示例类:
class Upload < ActiveRecord::Base
def process
case self.file_name
when /\.html$/
to_pdf
end
end
end
Run Code Online (Sandbox Code Playgroud)
在file_name ='foo.html'的上传实例上to_pdf调用时,如何测试process?如果可能的话,我想使用测试双.
我有一个在Ruby 1.9.3上运行的Rails 3.2应用程序,它返回存储在MongoDB数据库中的JSON数据.数据似乎正确存储在mongo中,例如(查看name属性):
{ "_id" : ObjectId("4f986cbe4c8086fdc9000002"), "created_at" : ISODate("2012-04-25T21:31:45.474Z"), "updated_at" : ISODate("2012-04-26T22:07:23.901Z"), "creator_id" : ObjectId("4f6b4d3c4c80864381000001"), "updater_id" : null, "name" : "Trädgår'n", "sort" : "tradgarn", "address" : "Nya Allén 11", "coordinates" : [ 11.9764791, 57.7045625 ], "phone" : "46031102080", "url" : "http://www.profilrestauranger.se/tradgarn/", "user_ids" : [ ] }
Run Code Online (Sandbox Code Playgroud)
但是当我发出一条返回此记录的请求时,我得到了类似的内容(现在查看name属性):
{"address":"Nya All\u00e9n 11","coordinates":[11.9764791,57.7045625],"created_at":"2012-04-25T23:31:45+02:00","id":"4f986cbe4c8086fdc9000002","name":"Tr\u00e4dg\u00e5r'n","phone":"46031102080","sort":"tradgarn","updated_at":"2012-04-27T00:07:23+02:00","url":"http://www.profilrestauranger.se/tradgarn/"}
Run Code Online (Sandbox Code Playgroud)
感兴趣的人的响应标题:
HTTP/1.1 200 OK
Server: nginx/1.2.0
Date: Thu, 26 Apr 2012 22:41:13 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 909
Connection: keep-alive
Status: 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS …Run Code Online (Sandbox Code Playgroud) 使用Ember.js v1.2.0,我正在尝试将侧边栏模板渲染到命名插座中.模板可能根据当前路线而不同.我正在努力想出"Ember"这样做的方法.
这是我到目前为止的要点:
应用程序/模板/ application.hbs
{{outlet sidebar}}
Run Code Online (Sandbox Code Playgroud)
应用程序/路线/的application.js
var ApplicationRoute = Ember.Route.extend({
renderTemplate: function(controller, model) {
var sidebar = controller.get('sidebar') || 'application';
this._super();
this.render('sidebar/' + sidebar, {
into: 'application',
outlet: 'sidebar'
});
}
});
Run Code Online (Sandbox Code Playgroud)
应用程序/路由/ docs.js
var DocsRoute = Ember.Route.extend({
renderTemplate: function(controller, model) {
this.controllerFor('application').set('sidebar', 'docs');
this.render();
}
});
Run Code Online (Sandbox Code Playgroud)
这不是真的有效,而且感觉不太Ember-ish.救命?
使用Angular 2,我有一个处理身份验证的AuthService。我试图找出当用户登录/注销时通知其他组件的最佳方法,但是不确定如何处理这种情况。有什么建议么?谢谢!
我正在尝试使用PHP进行惰性变量评估.受控示例代码:
<?php
function title($page)
{
return $page . ' - $_GET["title"]';
}
?>
<title><?= title($_SERVER['SCRIPT_NAME']) ?></title>
Run Code Online (Sandbox Code Playgroud)
$_GET['title']没有被评估.我怎样才能做到这一点?
ruby ×6
activeadmin ×1
angular ×1
ember.js ×1
encoding ×1
hash ×1
javascript ×1
macos ×1
osx-lion ×1
php ×1
rspec ×1
sinatra ×1
typescript ×1