Rails 3和DataMapper:由错误的参数组分组

时间:2011-11-07 13:33:21

标签: ruby-on-rails-3 datamapper

我在RoR3中使用groupby和distinct查询时遇到问题。

如果我在我的控制器中使用它,一切都很好:

@radgroupchecks = Radgroupcheck.find_by_sql("select * from radgroupcheck group by groupname")

但我想在铁轨上做。我试过了:

@radgroupchecks = Radgroupcheck.select("DISTINCT(groupname)").all

但这给了我一个错误:错误的参数数量(1表示0)

我做错了什么?!

1 个答案:

答案 0 :(得分:1)

您需要使用group方法在ActiveRecord中进行分组。我想你想要的是:

Radgroupcheck.all.group('groupname')

查看this link了解详情。

顺便说一句,在Ruby中使用驼峰套管(例如RedGroupCheck)会更好(更常规,但不是必需)。

更新:DataMapper

之前我没有使用过DataMapper,但看起来你需要写这样的东西:

Redgroupcheck.all(:fields => [:groupname], :unique => true)

This可能有所帮助。 (在该页面上搜索“组”)。