创建与资源无关的Rails部分

时间:2012-12-29 06:22:00

标签: ruby-on-rails-3

此问题与我之前的问题Creating a Rails partial that is model-agnostic有关。

我正在尝试创建一个给出变量的Rails部分,例如seasonal_type,并根据变量的值执行几个不同的操作,例如查询资源和访问实例变量。

更具体一点:我有两个模型SafetyTestTeamDue,它们属于Student。在这个局部的一个特殊情况下,我需要打电话 @student.safety_tests@student.team_dues。我想将变量seasonal_type传递给部分,并确定将两者中的哪一个执行。我怎么能这样做?变量的值可以是最方便的值,例如符号(:safety_test)或模型(SafetyTest)。

这个问题还有另一部分。在我的控制器中,我预先计算了SafetyTestTeamDue的一些实例变量,例如@valid_safety_test@valid_team_due。在我的部分内容中,如何根据seasonal_type的值使用这两个实例变量中的 ?或者我应该只计算部分内部的这些值,即使这会违反MVC结构?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

以下是答案:

在我的控制器中,我创建了一个包含两种季节类型模型的数组:[SafetyTest, TeamDue]

然后我迭代了这个数组,并使用该模型从数据库中查询我需要的所有信息。我将该信息放入一个数组中,并将其传递给具有实例变量的视图。因此,此数组还有两个项目,一个用于SafetyTest,另一个用于TeamDue

然后,部分迭代数组并呈现必要的视图。