ruby-on-rails - 在运行时创建字段

标签 ruby-on-rails ruby ruby-on-rails-3

我正在创建一个可以创建用户的新应用。例如:

User 
name:string, email:string

该应用程序的要求之一是管理员将来能够为该用户创建新字段。例如:

User 
name:string, email:string, surname:string

因此管理员将能够创建新字段而无需告诉开发人员这样做。

如何实现?

最佳答案

您可以创建一个名为 Field 的模型来存储字段(姓名、电子邮件等)。每个用户会有很多字段,每个字段属于很多用户,所以你需要一个关联类(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

关于ruby-on-rails - 在运行时创建字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28221848/

相关文章:

ruby-on-rails - 使用 ruby​​/savon 生成 wsse-security 的 DigestValue 元素

ruby-on-rails - Rails 不处理 get 请求中的 JSON 参数

ruby-on-rails - 如何在不定义类能力的情况下定义康康舞中的实例能力?

ruby - 轨道模型 : validates_uniqueness_of doesn't remove trailing spaces not leading ones before unique check?

ruby-on-rails - 未定义方法 `empty?' 为 nil :NilClass how to avoid it

ruby-on-rails - omn​​iauth-ldap 是如何工作的?

jquery - Ruby on Rails 项目时间选择器

ruby-on-rails - Mongoid,查找名称包含字符串的模型

ruby-on-rails - 带有 omniauth linkedin Ruby gem 的大型个人资料图片

ruby-on-rails - 如何在 Rails 中存储嵌套的 json 数据?