我想获取created_at字段小于今天(日期)的所有记录.有什么像:
MyTable.find_by_created_at(< 2.days.ago)
Run Code Online (Sandbox Code Playgroud) str = "Hello? World?"
Run Code Online (Sandbox Code Playgroud)
预期产出是:
"Hello:) World:("
Run Code Online (Sandbox Code Playgroud)
我可以做这个: str.gsub("?", ":)").gsub("?", ":(")
有没有其他方法可以在单个函数调用中执行此操作?就像是:
str.gsub(['s1', 's2'], ['r1', 'r2'])
Run Code Online (Sandbox Code Playgroud) a = "foobarfoobarhmm"
我希望输出为"fooBARfoobarhmm"
即只有第一次出现的"bar"应该用"BAR"代替.
我喜欢哈希
{:key1 => "value1", :key2 => "value2"}
我有一个变量k,其值为'key1'或'key2'.
我想把k变量的值v.
有没有办法通过使用if或实现这一点case?单线解决方案是优选的.请帮忙.
我有一个这样的模块:
module Prober
def probe_invoke(type, data = {})
p = Probe.new({:probe_type => type.to_s,
:data => data.to_json, :probe_status => 0, :retries => 0})
p.save
end
end
Run Code Online (Sandbox Code Playgroud)
我试图从我的主程序中访问这个:
require 'prober'
Prober.probe_invoke("send_sms", sms_text)
Run Code Online (Sandbox Code Playgroud)
但它会产生错误:
Prober的未定义方法`probe_invoke':模块(NoMethodError)
我有一个哈希:
h = {'name' => 'sayuj',
'age' => 22,
'project' => {'project_name' => 'abc',
'duration' => 'prq'}}
Run Code Online (Sandbox Code Playgroud)
我需要一个这个哈希的副本,更改不应该影响原始哈希.
当我尝试时,
d = h.dup # or d = h.clone
d['name'] = 'sayuj1'
d['project']['duration'] = 'xyz'
p d #=> {"name"=>"sayuj1", "project"=>{"duration"=>"xyz", "project_name"=>"abc"}, "age"=>22}
p h #=> {"name"=>"sayuj", "project"=>{"duration"=>"xyz", "project_name"=>"abc"}, "age"=>22}
Run Code Online (Sandbox Code Playgroud)
在这里,您可以看到project['duration']原始哈希中的更改是因为project是另一个哈希对象.
我想要散列duped或cloned递归.我怎样才能做到这一点?
我正在使用设计
sign_in和sign_up网址正在工作
但是,当我尝试网址时: http://localhost:3000/users/sign_out
它会产生路由错误
No route matches [GET] "/users/sign_out"
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
rake routes
new_user_session GET /users/sign_in(.:format) {:action=>"new", :controller=>"devise/sessions"}
user_session POST /users/sign_in(.:format) {:action=>"create", :controller=>"devise/sessions"}
destroy_user_session DELETE /users/sign_out(.:format) {:action=>"destroy", :controller=>"devise/sessions"}
user_password POST /users/password(.:format) {:action=>"create", :controller=>"devise/passwords"}
new_user_password GET /users/password/new(.:format) {:action=>"new", :controller=>"devise/passwords"}
edit_user_password GET /users/password/edit(.:format) {:action=>"edit", :controller=>"devise/passwords"}
PUT /users/password(.:format) {:action=>"update", :controller=>"devise/passwords"}
cancel_user_registration GET /users/cancel(.:format) {:action=>"cancel", :controller=>"devise/registrations"}
user_registration POST /users(.:format) {:action=>"create", :controller=>"devise/registrations"}
new_user_registration GET /users/sign_up(.:format) {:action=>"new", :controller=>"devise/registrations"}
edit_user_registration GET /users/edit(.:format) {:action=>"edit", :controller=>"devise/registrations"}
PUT /users(.:format) {:action=>"update", :controller=>"devise/registrations"}
DELETE /users(.:format) {:action=>"destroy", :controller=>"devise/registrations"}
status_message_index …Run Code Online (Sandbox Code Playgroud) 假设我有以下列表:
list1 = [1, 2, 33, 51]
^
|
indices 0 1 2 3
Run Code Online (Sandbox Code Playgroud)
如何获取该列表的最后一个索引,在本例中为3?
我在我的ubyntu 11.10上使用rvm.我的readline无法正常工作,我试过ruby extconf.rb但它没有通过.输出如下:
$ ruby extconf.rb
checking for tgetnum() in -lncurses... yes
checking for readline/readline.h... yes
checking for readline/history.h... yes
checking for readline() in -lreadline... no
checking for readline() in -ledit... no
checking for editline/readline.h... no
Run Code Online (Sandbox Code Playgroud)
我尝试安装libncurses5-dev和libreadline5-dev
$ sudo apt-get install libncurses5-dev libreadline5-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libreadline5-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or …Run Code Online (Sandbox Code Playgroud) 我有一个像"2011-06-02T23:59:59 + 05:30"这样的字符串.
我想将其转换为日期格式,只需要解析日期"2011-06-02".