我有模型公司、人员和任务。公司有很多任务,人有很多任务,任务属于公司,任务属于人。所以它们之间存在多态关联。我想创建一个用于添加新任务的表单,我可以在其中选择公司或个人作为任务所属的。我正在寻找与多态关联一起使用的自动完成输入之类的东西。有没有普遍使用的解决方案?
更新
我现在正在尝试使用 TokenInput。但是它有一个非常奇怪的问题。我为 Company 和 Person 模型写过:
def token
"#{id}_#{self.class.name}"
end
然后我像这样渲染contacts.json
[
{"name":"My company","token":"1_Company"},
{"name":"The Person","token":"1_Person"}
]
然后我初始化 TokenInput:
$('.token-input').tokenInput '/contacts.json'
tokenLimit: 1
tokenValue: "token"
自动完成工作得很好,但它发送到 params 空字符串!最奇怪的是:当我将它添加到 tokenInput 选项时:
propertyToSearch: "token"
有用!我的意思是,值“联系人:1_Person”出现在参数中。但它破坏了我输入的外观,因为自动完成中有“1_Person”、“1_Company”值而不是“My company”、“The Person”。也许有人知道如何解决它?
更新 2
哦哇!我从 github 下载了 TokenInput 的最新版本(我之前从 loopj.com 下载过),它可以工作了!
尽管如此,知道其他解决方案会很好。