0

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

我的意思是在 Rails 中是否可以让用户为他想要的数据中的额外字段选择标签。例如,我有一个带有字段名称、类型、口味和两个额外字段extra_field1 和 extra_field2的餐桌水果。前 3 个字段在表单上可见,具有相同的标签和一个添加自定义字段的链接,单击该链接后,用户会获得一个表单,在该表单中他可以标记他选择的额外字段,例如人A 将它们命名为速率和体重,而人B将它们命名为速率和颜色等。在名称设置之后,用户每次创建新记录时都应该在表单上看到额外的字段。

4

2 回答 2

1

一种解决方案是您可以拥有模型,在表格中CustomField设置可用的自定义字段。custom_fields使用多选下拉菜单允许用户根据需要选择自定义字段。并且会有一个中间模型,它有user_id'custom_fields_id' 和value.

你的联想可能是这样的。

用户.rb

has_many :custom_fields, :through => 'UserCustomFields'

user_custom_field.rb

belongs_to :user
belongs_to :custom_field

custom_field.rb

has_many :users, :through => 'UserCustomFields'
于 2013-03-06T10:14:04.890 回答
-1

我向数据库添加了一个名为“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    |                |
+---------------+--------------+------+-----+---------+----------------+

并在我的表中添加了三个新列,分别为 custom_field1、custom_field2 和 custom_field3。现在我可以在我想要自定义字段的 custom_field 表和类中设置标签,并以我需要的形式使用它们。

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

于 2013-03-21T08:54:52.437 回答