草庐IT

date_of_post

全部标签

Ruby Time#to_date() 方法返回错误的日期

我们使用的是Ruby1.9.3,我发现Time#to_date似乎是一个奇怪的Ruby错误Time.new(1).to_date在应返回0001年1月1日时返回0001年1月3日。我无意中发现了这个问题。似乎如果我调用.to_datetime.to_date,结果是正确的。我还发现了一些其他相关的怪异之处。请参阅下面的irb控制台输出。(请注意,我使用的是irb,而不是railsconsole,以确保我使用的只是Ruby,不是Rails的任何附加内容。)>>require"Time"=>true>>Time.new(1).to_date=>#>>Time.new(1).to_datet

ruby-on-rails - 如何使用来自 git hook post-receive 的特定 rvm gemset 进行 bundle 安装?

因此,我正在尝试在不使用capistrano的情况下实现类似heroku的部署。为了检查和安装gems,我尝试使用githook并将以下命令放入/hooks/post-receive:bundlecheck||bundleinstall但是当我运行gitpush时,我得到:remote:hooks/post-receive:line20:bundle:commandnotfound.我知道hook可能会从错误的环境中启动命令,并且我必须以某种方式从hook切换rvm环境。我尝试在接收后使用rvmuse1.8.7@rails3但它没有帮助。有什么想法吗? 最佳

ruby - 类型错误 : no implicit conversion of Hash into String

尝试解析一些JSON,为什么text是空的?期望的输出:text应该返回Helloworld\n\nApple,Harbor\n\nBanana,Kitchen\n\nMango,Bedroomtext="Helloworld"json='{"fruits":[{"name":"Apple","location":"Harbor"},{"name":"Banana","location":"Kitchen"},{"name":"Mango","location":"Bedroom"}]}'fruits=JSON.parse(json)defformat_fruits(fruits)fr

ruby-on-rails - rails : :inverse_of and Association extensions

我有以下设置classPlayer:playerdodefin_handfind_all_by_location('hand')endendendclassCard:cardsend这意味着以下工作:p=Player.find(:first)c=p.cards[0]p.score#=>2c.player.score#=>2p.score+=1c.player.score#=>3c.player.score+=2p.score#=>5但下面的行为不一样:p=Player.find(:first)c=p.cards.in_hand[0]p.score#=>2c.player.score#=

Ruby Regex 非贪婪匹配 : looking for the closest occurrence of a phrase left to a searched word

假设我有以下字符串:"BENffew123X\r\nBENx432f456X\r\nBEN!233789X\r\nBEN4545789X"我想要一个能捕获“BEN!233789”的正则表达式,它必须非贪婪地查找“BEN”,后跟任何字符(不包括“BEN”一词)并以789X结尾。我尝试了正则表达式:/BEN.+?789X/mi,我得到了"BENffew123X\r\nBENx432f456X\r\nBEN!233789X"作为匹配项。我知道这个正则表达式寻找第一个“BEN”并捕获字符串的开头,但我希望它寻找最接近第一个“789X”的“BEN”。我怎样才能做到这一点?一个想法是反转字符串,我

ruby : how to prevent modification of an array instance variable through an attribute reader

抱歉这个菜鸟问题...假设我们有:classTestMeattr_reader:arraydefinitialize@array=(1..10).to_aend结束然后可以这样做:>>a=TestMe.new=>#>>a.array.map!&:to_s=>["1","2","3","4","5","6","7","8","9","10"]>>a.array=>["1","2","3","4","5","6","7","8","9","10"]这显然不利于封装,不是吗?有什么方法可以快速保护数组变量不被更改吗?...或者每当我的实例变量具有“破坏性”方法时,我是否需要实现一个深拷贝读取

ruby - MongoDB:无法从 BSON 类型 EOO 转换为 Date

我正在尝试使用聚合框架(使用ruby​​)并像这样投影日期:db['requests'].aggregate([{"$project"=>{_id:0,method:'$method',user:'$user',year:{'$year'=>'$timestamp'}}}])文档是这样的:{_id:ObjectId("5177d7d7df26358289da7dfd"),timestamp:ISODate("2013-04-12T03:58:05+00:00"),method:"POST",status:"200",inputsize:"874",outputsize:"4981",u

ruby - 在 ruby​​ 中访问 Net::HTTP::Post 的 header

我有以下代码:uri=URI.parse("https://rs.xxx-travel.com/wbsapi/RequestListenerServlet")https=Net::HTTP.new(uri.host,uri.port)https.use_ssl=truereq=Net::HTTP::Post.new(uri.path)req.body=searchxmlreq["Accept-Encoding"]='gzip'res=https.request(req)这通常工作正常,但另一端的服务器提示我的XML中的某些内容,那里的技术人员需要xml消息和正在发送的header。我收

ruby-on-rails - 参数错误 : wrong number of arguments (1 for 2)

我是Rails、MVC和CRUD的新手,我正在尝试使用更新方法来更改帖子的投票数量。我的PostsController更新方法中有以下代码:defupdate@post=Post.find(params[:id])ifparams[:vote]=='up'@post.update_column(:ups=>@post[:ups]+1)elsifparams[:vote]=='down'@post.update_column(:downs=>@post[:downs]+1)endflash[:notice]="Thanksforvoting!Thishelpsusdetermineimp

ruby-on-rails - ruby rails : Use slug instead of id on resource routes

因此,我正在寻找一种解决方案来帮助我使用Rails资源实现以下目标:/admin/articles/:slug/edit相对于/admin/articles/:id/edit我正在寻找Railsresourceroutes而不是其他类型的路线。只是想知道这是否可能。如果是这样,如何? 最佳答案 #config/routes.rbresources:articles,param::slug在终端中:$rakeroutes...articleGET/articles/:slug(.:format)articles#show...