此问题与我之前的问题Creating a Rails partial that is model-agnostic有关。
我正在尝试创建一个给出变量的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结构?
非常感谢任何帮助。
答案 0 :(得分:1)
以下是答案:
在我的控制器中,我创建了一个包含两种季节类型模型的数组:[SafetyTest, TeamDue]
然后我迭代了这个数组,并使用该模型从数据库中查询我需要的所有信息。我将该信息放入一个数组中,并将其传递给具有实例变量的视图。因此,此数组还有两个项目,一个用于SafetyTest
,另一个用于TeamDue
。
然后,部分迭代此数组并呈现必要的视图。