小编Mar*_*une的帖子

如何按数值对Ruby Hash进行排序?

我有一个计数器哈希,我试图按计数排序.我遇到的问题是默认的Hash.sort函数将数字排序为字符串而不是数字大小.

即鉴于哈希:

metrics = {"sitea.com" => 745, "siteb.com" => 9, "sitec.com" => 10 }
Run Code Online (Sandbox Code Playgroud)

运行此代码:

metrics.sort {|a1,a2| a2[1]<=>a1[1]}
Run Code Online (Sandbox Code Playgroud)

将返回一个已排序的数组:

[ 'siteb.com', 9, 'sitea.com', 745, 'sitec.com', 10]
Run Code Online (Sandbox Code Playgroud)

尽管745的数字大于9,但9会出现在列表的第一位.当试图表明谁拥有最高统计数时,这让我的生活变得困难.:)

关于如何按数值大小排序哈希(或数组偶数)的任何想法?

我感谢任何帮助.

ruby hash

151
推荐指数
4
解决办法
11万
查看次数

如何使用capybara检查表单字段是否已正确预填?

我有一个带有适当标签的字段,我可以用水豚填写没有问题:

fill_in 'Your name', with: 'John'
Run Code Online (Sandbox Code Playgroud)

我想在填写它之前检查它的值,但无法弄明白.

如果我fill_in在以下行之后添加:

find_field('Your name').should have_content('John')
Run Code Online (Sandbox Code Playgroud)

该测试失败,尽管之前的填充工作正如我通过保存页面验证的那样.

我错过了什么?

forms rspec capybara

141
推荐指数
2
解决办法
7万
查看次数

如何在Ruby on Rails中查看由给定的ActiveRecord查询生成的SQL

我想看一个给定的ActiveRecord Query将生成的SQL语句.我发现在查询发出后我可以从日志中获取此信息,但我想知道是否有可以调用的方法和ActiveRecord Query.

例如:

SampleModel.find(:all, :select => "DISTINCT(*)", :conditions => ["`date` > #{self.date}"], :limit => 1, :order => '`date`', :group => "`date`")
Run Code Online (Sandbox Code Playgroud)

我想打开irb控制台并在最后添加一个方法,该方法将显示此查询将生成的SQL,但不一定执行查询.

sql activerecord ruby-on-rails

112
推荐指数
8
解决办法
7万
查看次数

在Rails 3中将UTC转换为本地时间

我在Rails 3中转换UTC TimeTimeWithZone本地时间时遇到问题.

Say momentTimeUTC中的一些变量(例如moment = Time.now.utc).如何转换moment到我的时区,照顾DST(即使用EST/EDT)?

更确切地说,如果时间对应于美国东部夏令时间上午9点和"3月7日上午9点",如果时间是美国东部时间上周一上午9点​​,我打算打印出"3月14日星期一上午9点​​".

希望还有另一种方式吗?

编辑:我首先认为 "EDT"应该是一个公认的时区,但"EDT"不是一个实际的时区,更像是时区的状态.例如,要求没有任何意义Time.utc(2011,1,1).in_time_zone("EDT").这有点令人困惑,因为"EST" 一个实际的时区,在一些不使用夏令时的地方使用,并且是(UTC-5)一年.

ruby timezone ruby-on-rails activesupport ruby-on-rails-3

91
推荐指数
4
解决办法
10万
查看次数

如何在Ruby中获取父级的类名

让我们假设我有一个类AB那里B继承A.如何在中打印父类名称B

class A
end

class B < A
end
Run Code Online (Sandbox Code Playgroud)

我试过的一些事情

>> B.new.class #=> B   #which is correct
>> B.new.parent  #=> Undefined method `parent`
>> B.parent   #=> Object
>> B.parent.class #=> Class
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

ruby

76
推荐指数
5
解决办法
5万
查看次数

推送后还原合并

我执行的步骤:

我有两个分支branch1和branch2,

$git branch --Initial state
$branch1

$git checkout branch2
$git pull origin branch1 --Step1
Run Code Online (Sandbox Code Playgroud)

我解决了冲突并做了一个

$git commit -m "Merge resolved"
Run Code Online (Sandbox Code Playgroud)

然后

$git checkout branch1
$git merge branch2
$git push origin branch1
Run Code Online (Sandbox Code Playgroud)

现在我意识到,在第1步,自动合并删除了一些代码,并且更改代码被推送,现在我想回到我的初始状态,以便还原任何更改.寻找一些直接的帮助?

git git-revert

62
推荐指数
4
解决办法
6万
查看次数

ActiveRecord serialize using JSON instead of YAML

I have a model that uses a serialized column:

class Form < ActiveRecord::Base
  serialize :options, Hash
end
Run Code Online (Sandbox Code Playgroud)

Is there a way to make this serialization use JSON instead of YAML?

serialization activerecord json yaml ruby-on-rails

55
推荐指数
4
解决办法
4万
查看次数

我可以在Ruby 2.x中获得所需的命名参数吗?

Ruby 2.0正在添加命名参数,如下所示:

def say(greeting: 'hi')
  puts greeting
end

say                     # => puts 'hi'
say(greeting: 'howdy')  # => puts 'howdy'
Run Code Online (Sandbox Code Playgroud)

如何在不提供默认值的情况下使用命名参数,以便它们是必需的?

ruby arguments ruby-2.0 ruby-2.1

46
推荐指数
4
解决办法
8912
查看次数

使用jQuery淡化元素的可见性

我在为JQuery找到可见性参数时遇到了一些麻烦.

基本上......下面的代码什么也没做.

$('ul.load_details').animate({
    visibility: "visible"
    },1000);
Run Code Online (Sandbox Code Playgroud)

动画代码没有任何问题(我用fontSize替换了可见性,它很好.我似乎无法在css中找到与"visibility"相同的正确param名称.

javascript css jquery

44
推荐指数
3
解决办法
7万
查看次数

class_eval,class_exec,module_eval和module_exec之间有什么区别?

我正在阅读Module文档,但似乎无法理解它们的差异,哪些应该在哪里使用.

有什么eval不同exec

ruby

43
推荐指数
2
解决办法
8884
查看次数