我现在才使用 Rails 几个月,所以我可能遗漏了一些明显的东西,但是如果一个属性受到attr_accessible
, 或的大规模分配保护attr_protected
,那么当你第一次创建记录时如何设置该属性?(并且以仍然安全的方式进行。)
例如:
假设我正在开发一个应用程序,该应用程序跟踪公司员工接受过培训的不同程序和流程。
作为这个应用程序的一部分,我有三个模型:User
、Course
和TrainingClass
。User
代表员工,Course
代表员工可以接受培训的不同事物,并TrainingClass
代表员工将在其中接受培训的特定课程。
与模型(因为类基本上只是课程的特定实例)和模型(因为类有一个讲师,谁是创建 的用户)TrainingClass
都有belongs_to
关系。同样,和模型都与模型有关系。Course
User
TrainingClass
Course
User
has_many
TrainingClass
根据这些信息,我将如何创建新记录TrainingClass
?
我可以说:
course.training_classes.build(user_id: user.id)
或者
user.training_classes.build(course_id: course.id)
但这不是对user_id
orcourse_id
属性的批量赋值吗?
在保持应用程序安全的同时,最好的方法是什么?