我需要将以下功能添加到Rails项目中:
当前功能:
ProjectUser 包含多个项目 项目包含多个用户。 用户可以使用基本的电子邮件/密码组合注册到项目。
所需功能:
ProjectUser 可以将表单添加到项目 然后将表单呈现给用户,作为注册的第二步。 ProjectUser 可以在添加表单时从预定义的表单项列表中进行选择。 (例如,年龄字段,公司规模字段,国家/地区字段等)
宝石
我一直在看Gems,但我发现的一切都是陈旧的(Pre-rails 3)。所以我的问题是双重的。任何人都可以推荐一款能提供此功能的稳定且最新的Gem,如果没有,我该如何处理?
没有宝石
我目前的想法是创建一个 Form 模型,其中包含 FormItems , ProjectUser 可以使用带有复选框的表格将 ProjectUser 添加到其表单中对于每个项目。为了实现这一点,表单项需要是多态的 - 它们都是表单项,但在它们呈现/收集的信息类型中是唯一的。 (文本字段,组合,日期选择器等)。一旦 ProjectUser 做出决定并选择了他们想要的表单项,我就会将这些决定存储在表单上。
我有点不清楚的部分是 Form 和 User 之间的关系。 ProjectUser 需要保存关于哪些字段在某个地方具有哪些字段的决定。对我来说,有一个 Form 模型可以存储这些决策,所以每个 Project 都有一个 Form ,然后当一个 >用户想要注册一个项目我根据 Project 的 Form 模型中的数据构建了一个注册表单。生成的表单本身是用户的表单,而不是表单模型的表单,因此当用户提交表单时,他们将登录并使用新的用户模型使用表单数据填充。
这有什么意义吗?