0

我需要在 Rails 项目中添加以下功能:

当前功能:

一个ProjectUser hasMany Projects 一个Project hasMany Users。用户可以使用基本的电子邮件/密码组合注册项目。

所需功能:

ProjectUser可以将表单添加到项目中 然后 将表单呈现给用户作为注册第二步。ProjectUser在添加表单时可以从预定义的表单项列表中进行选择(例如 Age 字段、Company size 字段、Country 字段等)

宝石

我一直在看 Gems,但我发现的一切都是陈旧的(Pre-rails 3)。所以我的问题有两个。任何人都可以推荐一个可以提供此功能的稳定且最新的 Gem,如果没有,我应该如何解决这个问题?

没有宝石

我目前的想法是,我创建了一个包含许多FormItems的Form模型,ProjectUser可以使用带有每个项目的复选框的表格将其添加到他们的表单中。为了使其工作,表单项需要是多态的——它们都是表单项,但在它们呈现/收集的信息类型方面是独一无二的。(文本字段、组合、日期选择器等)。一旦ProjectUser做出决定并选择了他们想要的表单项,我就会将这些决定呈现在Form上。

我有点不清楚的部分是FormUser之间的关系。ProjectUser需要保存他们关于在表单中的某个地方包含哪些字段的决定对我来说,有一个Form模型来存储这些决定是有意义的,所以每个Project都有一个Form,然后当用户想要注册一个项目时,我会根据Project中的数据构建一个注册表单s表格模型。生成的表单本身虽然是User的表单,而不是Form模型,因此当用户提交表单时,他们会登录并使用表单数据填充新的用户模型。

这有什么意义吗?

4

0 回答 0