在Ruby on Rails中创建数据库视图

时间:2010-03-15 17:46:10

标签: ruby-on-rails

我正在为项目添加报告功能。

这里有3个角色:

1)志愿者(他们报告他们自愿参加的时间)

2)主管(他们查看报告的内容,注意:一位主管可以查看所有项目)

3)项目(代表一些志愿者工作的工作项目)

解释它的作用:

主管将指定一份报告,根据他所需要的内容进行查询。

这些可能是合情合理的报道:

1)志愿者总数,以及该项目的志愿者小时总数

2)与项目相关的所有志愿者姓名和电子邮件

3)活动项目数与项目总数

我想也许在Rails中创建一个数据库视图并存储该视图的名称,这样只要主管想要提取报告,Rails就会检查视图。

视图真的是答案还是仅保存查询更好?

Rails可以做到这一点,还是有更好或更简单的方法来实现这个功能?

编辑:报告本质上是后面的SQL查询。我们希望主管也能够创建自己的报告。我们打算构建一些前端UI以使其更容易。

我只是认为拥有存储视图的表将比存储SQL查询(ReportID,SQLQuery)的表更具描述性(ReportID,ViewName)。此外,我在考虑节省空间非常专业的SQL查询变得非常庞大和令人困惑。我很抱歉因为我是Ruby和Rails的新手而感到困惑。

例如: 我在想是什么可以为#2报告提供动力这个查询(或者视图的等效代码: 选择v.volunteerName,v.volunteerEmail来自志愿者v,志愿者vg,其中v.volunteerId = vg.volunteerId和vg.projectId =(用户通过的一些论点)

请注意,志愿者数据库是一个关系数据库,志愿者可以自愿参与多个项目。

干杯, -Jeremiah Tantongco

1 个答案:

答案 0 :(得分:0)

你的问题令人困惑,但我认为你需要:

  1. 为用户,项目和活动创建模型(小时)
  2. 为志愿者创建基本时间表格
  3. 为报告创建一个新控制器(称之为'reports_controller')
  4. 为您将拥有的每个报告创建视图(和操作)(例如:'projects.html.erb')
  5. 在报告中创建索引操作并为每个报告提供链接
  6. 添加身份验证(尝试使用Authlogic
  7. 添加授权(尝试使用CanCan
  8. 凯文