在运行时创建字段
Create fields in runtime
我正在创建一个可以创建用户的新应用。例如:
User
name:string, email:string
应用程序的一个要求是管理员将来能够为该用户创建新字段。例如:
User
name:string, email:string, surname:string
因此管理员将能够创建新字段而无需告诉开发人员这样做。
如何实现?
您可以创建一个名为 Field
的模型来存储字段(姓名、电子邮件等)。每个用户会有很多字段,每个字段属于很多用户,所以你需要一个关联class (UserFields
).
|------| |-----------| |-------|
| User |1--------*| UserField |*----------1| Field |
|------| |-----------| |-------|
例如:
users users_fields fields
------- ------------- --------
id userd_id field_id value id name
1 1 1 my name 1 name
1 2 my address 2 address
1 3 my email 3 email
查看 rails 指南,了解如何设置有多个直通关联:http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association
我正在创建一个可以创建用户的新应用。例如:
User
name:string, email:string
应用程序的一个要求是管理员将来能够为该用户创建新字段。例如:
User
name:string, email:string, surname:string
因此管理员将能够创建新字段而无需告诉开发人员这样做。
如何实现?
您可以创建一个名为 Field
的模型来存储字段(姓名、电子邮件等)。每个用户会有很多字段,每个字段属于很多用户,所以你需要一个关联class (UserFields
).
|------| |-----------| |-------|
| User |1--------*| UserField |*----------1| Field |
|------| |-----------| |-------|
例如:
users users_fields fields
------- ------------- --------
id userd_id field_id value id name
1 1 1 my name 1 name
1 2 my address 2 address
1 3 my email 3 email
查看 rails 指南,了解如何设置有多个直通关联:http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association