我想在我的应用程序中给出一个选项,让用户选择最多3个他自己选择的自定义字段,怎么可能?我知道他们是一个简单的解决方案,但不能得到它。
我的意思是在rails中可以让用户为他的数据中的额外字段选择标签。例如,我有一个表水果,其中包含字段名称,类型,品味以及两个额外字段 extra_field1和extra_field2 。前三个字段在表单上可见,带有相同的标签和一个添加自定义字段的链接,点击该链接后,用户会获得一个表单,他可以在其中标记他选择的额外字段,如人 A 名称他们比率和重量,而人 B 将他们命名为费率和颜色等。名称设置后,表格上的用户应该可以看到额外的字段每次他创造新纪录。
答案 0 :(得分:1)
一个解决方案可以是您可以拥有模型CustomField
,在custom_fields
表中设置可用的自定义字段。使用多选下拉列表允许用户根据需要选择自定义字段。
并且会有一个中间模型,其中包含user_id
,'custom_fields_id'和value
。
您的关联可能是这样的。
<强> user.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'
答案 1 :(得分:-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支持我。