Ruby on rails 3 如何在rails3中添加自定义字段?

Ruby on rails 3 如何在rails3中添加自定义字段?,ruby-on-rails-3,Ruby On Rails 3,我想在我的应用程序中提供一个选项,让用户选择最多3个自定义字段,这怎么可能呢?我知道他们的解决方案很简单,但无法实现 我的意思是,在rails中,是否可以让用户为他想要的数据中的额外字段选择标签。例如,我有一个表水果,其中包含字段名称、类型、口味,以及两个额外字段额外字段1和额外字段2。前3个字段在表单上可见,具有相同的标签和添加自定义字段的链接,点击该链接后,用户将获得一个表单,在该表单中,他可以标记自己选择的额外字段,如persona命名比率和重量,personB命名比率和颜色等。在设置名称

我想在我的应用程序中提供一个选项,让用户选择最多3个自定义字段,这怎么可能呢?我知道他们的解决方案很简单,但无法实现


我的意思是,在rails中,是否可以让用户为他想要的数据中的额外字段选择标签。例如,我有一个表水果,其中包含字段名称、类型、口味,以及两个额外字段额外字段1和额外字段2。前3个字段在表单上可见,具有相同的标签和添加自定义字段的链接,点击该链接后,用户将获得一个表单,在该表单中,他可以标记自己选择的额外字段,如persona命名比率和重量,personB命名比率和颜色等。在设置名称后,用户每次创建一个链接时,表单上的额外字段都应可见新记录。

一种解决方案是,您可以使用model
自定义字段
,在
自定义字段
表中设置可用的自定义字段。使用“多选”下拉列表允许用户选择自定义字段,可以选择任意数量的字段。 还有一个中间模型,它将具有
user\u id
,“custom\u fields\u id”和
value

你的联想可能是这样的

user.rb

has_many :custom_fields, :through => 'UserCustomFields'
belongs_to :user
belongs_to :custom_field
has_many :users, :through => 'UserCustomFields'
用户自定义字段.rb

has_many :custom_fields, :through => 'UserCustomFields'
belongs_to :user
belongs_to :custom_field
has_many :users, :through => 'UserCustomFields'
自定义_字段.rb

has_many :custom_fields, :through => 'UserCustomFields'
belongs_to :user
belongs_to :custom_field
has_many :users, :through => 'UserCustomFields'

我向数据库中添加了一个名为“custome_field”的新表,该表包含以下列:

mysql> desc custom_fields;
+---------------+--------------+------+-----+---------+----------------+
| Field         | Type         | Null | Key | Default | Extra          |
+---------------+--------------+------+-----+---------+----------------+
| id            | int(11)      | NO   | PRI | NULL    | auto_increment |
| company_id    | int(11)      | NO   |     | NULL    |                |
| voucher_type  | varchar(255) | NO   |     | NULL    |                |
| custom_label1 | varchar(255) | YES  |     | NULL    |                |
| custom_label2 | varchar(255) | YES  |     | NULL    |                |
| custom_label3 | varchar(255) | YES  |     | NULL    |                |
| created_at    | datetime     | YES  |     | NULL    |                |
| updated_at    | datetime     | YES  |     | NULL    |                |
+---------------+--------------+------+-----+---------+----------------+
并在表a中添加了三个新列,分别为custom_field1、custom_field2和custom_field3。 现在,我可以在自定义字段表和类中设置标签,我想要自定义字段,并以我需要的形式使用它们


感谢@Ramiz Raja在这方面对我的支持。

您可以在
自定义字段
表中添加一个字段
字段标签
。我正在考虑在同一个表中添加自定义字段和3个标签字段,以避免复杂性。您应该为自定义字段添加额外的表,以避免将来表的水平增长。这仅适用于目前的需求,我不认为这将在未来扩大更多,因为我只允许在extra2中添加三个字段。您可以有一个带有字段
id、name、value、user\u id
的模型
CustomField
。现在,您的关系将变成
User has\u many:custom\u fields
和'CustomField belowns\u to:User'。您将在视图中填写自定义_字段的名称和值,并根据用户进行保存。