首页 > 解决方案 > 如何在显示页面上呈现不同的表单

问题描述

我有一个带有kind列的事件模型。活动可以是训练营、会议等。
现在,在每个活动页面上,我都会为客户显示一个表格,以便客户可以注册此特定活动。客户belongs_to事件。

现在,我想要一种新的事件,对于这个特定的事件,我需要在表单中为客户显示额外的字段。客户表没有这些列。这些字段应该是位置、培训日期、父母姓名、父母电话等。

当然,新字段应在输入时进行验证。我知道如何在事件显示页面上有条件地呈现不同的表单,但我不太确定在哪里添加新列以及如何在控制器中处理它。我不想将这些列添加到客户表中,因为我认为它们并不真正属于那里。
此外,我还需要验证新字段,因此会出现呈现不同表单的情况,如果只呈现一个特定表单,我将无法验证所有字段。

你有什么想法我该怎么做吗?

标签: ruby-on-rails

解决方案


客户模型中的用户 attr_accessor 用于批量分配新字段

attr_accessor: :location,:training_date etc

现在,您可以使用模型对象从表单传递这些值。您可以在“实用或视图”中调整条件

如果要将这些值存储在数据库表中,则必须在客户模型中创建列。或者,如果您不想在客户表中创建字段,那么您可以使用“ Redis ”来存储值。


推荐阅读