如何在Rails 3中的表列中查找最小值

Fra*_*ois 11 ruby activerecord ruby-on-rails

嗨,我可以说我有一个表(广告)列(视图)

意见
2
1
4
6
3

如何在此列中找到最小值?有什么简单的方法吗?


这就是我所拥有的

@ads = Ad.all
@show_this_ad = @ads.min(:views)
Run Code Online (Sandbox Code Playgroud)

这给了我一个"错误的参数数量(1为0)错误"


@ads = Ad.all
@show_this_ad = @ads.minimum(:views)
Run Code Online (Sandbox Code Playgroud)

这给了我一个"未定义的方法错误"

tho*_*ler 28

Ad.minimum(:views)
Run Code Online (Sandbox Code Playgroud)

应该管用

您仍然可以添加更多限制,例如:

Ad.where(:user_id => 12345).minimum(:views)
Run Code Online (Sandbox Code Playgroud)

仅查找ID为12345的用户添加

顺便说一句:你可以在rails控制台中轻松测试这些东西(只需从命令行输入"rails c")有一件事经常帮助我获得一些操作的结果.

如果输入如下内容:

@foo = Add.all
Run Code Online (Sandbox Code Playgroud)

然后:

@foo.class
Run Code Online (Sandbox Code Playgroud)

你会看到,@ foo是一个数组,当然不知道ActiveRecord#minimum的任何内容