这个问题与我之前的问题有关,创建与模型无关的Rails部分。
我正在尝试创建一个Rails部分,该部分给定一个变量,例如seasonal_type
,并根据变量的值执行几种不同的操作,例如查询资源和访问实例变量。
更具体地说:我有两个模型SafetyTest
和TeamDue
,它们属于Student
。在本部分的一个特殊情况下,我需要调用两者中的任何一个@student.safety_tests
或@student.team_dues
。我想把变量seasonal_type
传递给偏函数,这样就可以确定执行哪一个。我怎么能这么做呢?变量的值可以是最方便的,例如符号(:safety_test
)或模型(SafetyTest
)。
这个问题还有另一部分。在我的控制器中,我为SafetyTest
和TeamDue
预先设置了一些实例变量,例如@valid_safety_test
和@valid_team_due
。在我的部分中,如何根据seasonal_type
的值使用或这两个实例变量?或者我应该在局部中计算这些值,即使这将违背MVC结构?
答案如下:
在我的控制器中,我创建了一个包含两个季节类型模型的数组:[SafetyTest, TeamDue]
然后我迭代这个数组,并使用模型从数据库中查询我需要的所有信息。我将该信息放入一个数组中,并通过实例变量将其传递给视图。所以这个数组也有两个元素,一个是SafetyTest
,一个是TeamDue
。
然后局部遍历这个数组并呈现必要的视图。