Ruby on Rails:如何在DB(user_profile)中为同一列实现2个可排序列(pupil,mentor)?

时间:2012-08-29 10:07:15

标签: ruby-on-rails-3

为了在Rails中实现“可排序列”,我使用了Ryan Bates在Railscast 228中构建的框架。

我有一个应用程序,其中一个“导师”在一个“课堂”中教一个“学生”。两个人(导师,学生)的识别数据(名字,姓氏,出生日期)保存在单个DB列“user_profiles”中。

要显示所有“类”的计划,应用程序将呈现一个表:     学生|老师|班级名称|开始|结束。

虽然控制器中的“连接”逻辑(索引方法)是清楚的&简单来说,在视图(V)中,您需要为“可排序”指定DB列的名称。在这里,我遇到了一个模棱两可的情况:

= sortable('Pupil','user_profiles.last_name')

= sortable('Mentor','user_profiles.last_name')

班级名称

 ... 

您是否知道如何指示Rails区分这两者?

(点击“Pupil”时,从属于“Pupil”的“user_profiles.last_name”中排序这些元素。同意“导师”)

谢谢,   西普里安

1 个答案:

答案 0 :(得分:0)

首先,我建议您使用jqGrid jquery插件进行排序。它易于集成和使用。根据UI设计的观点,它也是优选的。

另一方面,您应该使用不同的列,或者您可以使用alias或者您可以对列集应用排序。