我有我的Yaml配置文件,mongo.yml:
development:
adapter: mongodb
database: fhsclock_development
host: localhost
port: nil
test:
adapter: mongodb
database: fhsclock_test
host: localhost
port: nil
production:
adapter: mongodb
database: fhsclock
hosts:
- - localhost
- nil
- - staff.mongohq.com
- 10015
Run Code Online (Sandbox Code Playgroud)
如何使用此文件进行MongoMapper的配置和连接?
我希望能够做到以下几点:
get '/:slug' do
haml :page
end
get '/administration' do
haml :admin
end
Run Code Online (Sandbox Code Playgroud)
有没有办法可以get '/:slug' do让/管理有例外?我意识到你可以使用if else语句来做到这一点:
get '/:slug' do
if params[:slug] == 'administration'
haml :admin
else
haml :page
end
end
Run Code Online (Sandbox Code Playgroud)
但那看起来不是很干净.有没有办法让路线有例外?
我希望能够自动将JSON对象解析为实例变量.例如,使用此JSON.
require 'httparty'
json = HTTParty.get('http://api.dribbble.com/players/simplebits') #=> {"shots_count":150,"twitter_screen_name":"simplebits","avatar_url":"http://dribbble.com/system/users/1/avatars/thumb/dancederholm-peek.jpg?1261060245","name":"Dan Cederholm","created_at":"2009/07/07 21:51:22 -0400","location":"Salem, MA","following_count":391,"url":"http://dribbble.com/players/simplebits","draftees_count":104,"id":1,"drafted_by_player_id":null,"followers_count":2214}
Run Code Online (Sandbox Code Playgroud)
我希望能够这样做:
json.shots_count
Run Code Online (Sandbox Code Playgroud)
并输出:
150
Run Code Online (Sandbox Code Playgroud)
我怎么可能这样做?
有没有办法使用DataMapper获取模型的属性?例如:
require 'rubygems'
require 'datamapper'
class User
include DataMapper::Resource
property :id, Serial
property :name, String
end
Run Code Online (Sandbox Code Playgroud)
我可以获取User数组或哈希的属性吗?
我正在开发一个用于发出基本HTTP请求(GET,POST,PUT和DELETE)的Java包.现在,我只是打印请求的输出.我想将它存储在一个字段中,但我不确定String是否支持大量文本.是否存在大量文本的数据类型,或者是否有合理的替代方案?现在,因为我只是打印它,我不能对返回的数据做任何事情(比如解析它,如果它是JSON).
任何想法都会有所帮助.
编辑:代码在GitHub上在线.
我使用Bundler为我生成宝石骨架.在内lib/foo.rb,我有以下内容:
require 'foo/client'
require 'foo/other'
Run Code Online (Sandbox Code Playgroud)
这两行应该分别需要lib/foo/client.rb和lib/foo/other.rb.它构建没有问题,但当我去测试它时irb,我得到一个文件未找到错误.
ruby-1.9.2-head :003 > require 'foo'
LoadError: no such file to load -- foo/client
from /home/ethan/.rvm/rubies/ruby-1.9.2-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/ethan/.rvm/rubies/ruby-1.9.2-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/foo-0.1.0/lib/foo.rb:3:in `<top (required)>'
from /home/ethan/.rvm/rubies/ruby-1.9.2-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/ethan/.rvm/rubies/ruby-1.9.2-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from (irb):3
from /home/ethan/.rvm/rubies/ruby-1.9.2-head/bin/irb:16:in `<main>'
ruby-1.9.2-head :004 >
Run Code Online (Sandbox Code Playgroud)
在同一个Gem中需要文件的正确方法是什么?必须有一些简单的东西,我在监督......
我正在尝试为以下字符串找到两个不同的正则表达式:
eturk/clock, eturk/vermonster, and noted/noted#42
其中一个正则表达式应该只识别回购(没有问题).所以对于第一个正则表达式,它应该只返回这些匹配:
[["eturk", "clock"], ["eturk", "vermonster"]]
然后对于第二个,它应该与回购一起识别问题.所以比赛将是:
[["noted", "noted", "42"]]
这是我到目前为止第一部分:
/(\w*)\/(\w*)?/
Run Code Online (Sandbox Code Playgroud)
这将匹配如下:
[["eturk", "clock"], ["eturk", "vermonster"], ["noted", "noted"]]
但问题是,我不希望它与附带问题的回购参考相匹配.任何人都可以提供任何帮助吗?
考虑以下标记:
<!DOCTYPE html>
<html>
<head>
<title>Test Page</title>
<link href="screen.css" rel="stylesheet" />
</head>
<body>
<h1>Test</h1>
<h3>Description</h3>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
而CSS:
h3{
margin-top: -25px;
}
Run Code Online (Sandbox Code Playgroud)
现在,我希望H3有一个余量,但是H1很长,并且它始终是20px.所以,如果我有一个长度为200px的H1块,那么H3的剩余边距为220px,依此类推.我该怎么做?