小编rub*_*nce的帖子

将"1.hour"转换为1.hour

是否有可能将"1.hour"字符串转换为1.hour,将"2.hours"转换为2.hours in ruby​​?实际上我从表格的下拉列表中获取此值.我希望Time.now通过这样的方式添加它

time = Time.now + get_method(params[:hours_or_days])
Run Code Online (Sandbox Code Playgroud)

其中params[:days_or_hours]可能是"2.hours"或"1.hour"或"1.day".我想获得这些字符串的方法转换.可能吗?(通过某些方法send)

ruby ruby-on-rails

4
推荐指数
2
解决办法
3001
查看次数

使用acts_as_paranoid插件进行软删除 - 验证怎么样?

我正在尝试使用acts_as_paranoid插件进行软删除记录.我之前使用db中的标志来管理它.我知道这个插件将省略搜索记录并查找记录是否被软删除.我想知道的是,如果我在模型中进行了验证validates_uniqueness_of :email,我删除了(软删除)带有电子邮件'prince@gmail.com'的记录.现在,当我尝试创建具有相同电子邮件的新用户时,验证将起作用并阻止创建新记录.或者它会忽略软删除的记录,就像它对发现一样吗?(当然,我希望这会发生.)

ruby-on-rails

3
推荐指数
1
解决办法
3284
查看次数

减去2个数组的值并获得一个带有减去值的新数组

基本上,我想这样做:

[1,2,3,4,5].some_method([1,5,8,7,8])
=> [0,-3,-5,-3,-3]
Run Code Online (Sandbox Code Playgroud)

在Ruby中执行此操作的最佳方法是什么?

ruby

3
推荐指数
1
解决办法
305
查看次数

有没有办法忽略父标签中写的样式?

有没有办法忽略所写的任何样式,并从头开始为新标签.例如,如果我写了一个样式

table {
  large amount of styles..
}
Run Code Online (Sandbox Code Playgroud)

然后我想用这样的东西开始一个没有任何样式的新表

<table style="no style">
Run Code Online (Sandbox Code Playgroud)

我可以为新表编写一个不同的类并应用该类,但问题是有很多样式要覆盖.有这样的属性吗?

html css

3
推荐指数
1
解决办法
172
查看次数

与Ruby 1.8.7中的块等效的Array#uniq

Array#uniq在Ruby 1.9中具有此行为

c = [ "a:def", "a:xyz", "b:abc", "b:xyz", "c:jkl" ]
c.uniq {|s| s[/^\w+/]}  #=> [ "a:def", "b:abc", "c:jkl" ]
Run Code Online (Sandbox Code Playgroud)

它可能需要花费一点时间,并且相对于我们提供的内容具有独特的价值。但是,这在Ruby 1.8中不起作用。如何在ruby 1.8中创建此功能?

ruby arrays ruby-1.8

3
推荐指数
1
解决办法
1376
查看次数

如果多个具有相同的最大值,则获得最大值作为数组

Ruby已经Enumerable#maxEnumerable#max_by我一起使用max_by以下方式.

array = [
           {:a => 1, :b => 2, :c => 3}, 
           {:a => 3, :b => 2, :c => 4}, 
           {:a => 3, :b => 1, :c => 4}
        ]
max_item = array.max_by { |item| item[:b] }
=> {:b=>2, :c=>3, :a=>1}
Run Code Online (Sandbox Code Playgroud)

因此,它将返回单个最大值(我认为是第一个),即使有2个项具有相同的最大值.我想实现一个函数,在这种情况下给出两个项目.是否有其他变体max_by或者我需要从头开始为此编写?

ruby ruby-on-rails max

3
推荐指数
1
解决办法
1936
查看次数

为什么capistrano总是使用git clone

我有一些capistrano部署的基本问题.首先,我需要知道git clone当git repo已经存在时,capistrano是否正在使用第二个或第三个.如果使用它有什么问题git pull吗?我set :deploy_via, :remote_cache在我的capfile中添加了.我问这个是因为我尝试在服务器的路径中添加一个新文件,而不是在git repo中,因为它是服务器特定的文件.下次我使用capistrano部署时,文件消失了.git clone即使已经创建了一个git repo ,似乎capistrano也在使用.为什么cant capistrano不能git pull用来更新代码?

git capistrano ruby-on-rails

3
推荐指数
1
解决办法
1597
查看次数

Elasticsearch搜索具有'#'字符的单词

例如,我现在正在搜索如下:

http://localhost:9200/posts/post/_search?q=content:%23sachin
Run Code Online (Sandbox Code Playgroud)

但是,我用'sachin'而不是'#sachin'获得所有结果.另外,我正在写一个正则表达式来获取术语数.方面看起来像这样:

"facets": {
  "content": {
      "terms": {
        "field": "content",
        "size": 1000,
        "all_terms": false,
        "regex": "#sachin",
        "regex_flags": [
          "DOTALL",
          "CASE_INSENSITIVE"
        ]
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

这不会返回任何值.我认为这与在正则表达式中转义'#'有关,但我不知道该怎么做.我试图逃避它\\\,但没有奏效.谁可以在这方面帮助我?

elasticsearch

3
推荐指数
1
解决办法
1470
查看次数

在CentOS中安装ImagMagick和rmagick gem

我知道这已被问过好几次了,但问题是他们带来了rmagick的新版本,现在老版本的方法不适用.

Server - CentOS release 5.6 (Final)
Ruby - ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-linux]
Rails - 2.3.5
Run Code Online (Sandbox Code Playgroud)

我尝试通过这些步骤安装rmagick gem.我执行这些查询时是root用户:

yum install ImageMagick.i386
yum install ImageMagick-c++-devel.i386
gem install rmagick
Run Code Online (Sandbox Code Playgroud)

前2个命令顺利执行,没有任何错误.在gem install rmagick,我收到此错误:

ERROR:  Error installing rmagick:
    ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... yes

Warning: Found a partial ImageMagick installation. Your operating system likely has some built-in ImageMagick libraries but not all …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rmagick imagemagick

2
推荐指数
1
解决办法
8667
查看次数

添加6天到created_at日期

我是铁杆上的红宝石新手,正在进行锻炼,希望你能帮助我.

在项目列表中,我需要显示每个项目的创建日期以及到期日期之前的天数.

每个项目应该只有7天有效,所以我尝试使用created_at字段,因为我已经将它作为创建日期,但它不起作用.

我有这个:

You created this item <%= time_ago_in_words(item.created_at) %> ago
The due date for this item is <%= @duedate %>
Run Code Online (Sandbox Code Playgroud)

还有这个:

@duedate = Item.find(params[:id])created_at+6.days
Run Code Online (Sandbox Code Playgroud)

如何在项目创建日期添加6天?

提前致谢.

ruby-on-rails

2
推荐指数
1
解决办法
2257
查看次数