会社、人、タスクのモデルがあります。会社には多くのタスクがあり、人には多くのタスクがあり、タスクは会社に属し、タスクは人に属します。したがって、それらの間には多形的な関連があります。所属する会社または個人を選択できる新しいタスクを追加するためのフォームを作成したいと思います。多態的な関連付けで機能するオートコンプリート入力のようなものを探しています。一般的に使用される解決策はありますか?
アップデート
私は今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"
できます!つまり、値「contact:1_Person」がパラメータに表示されます。ただし、オートコンプリートに「My company」、「The Person」の代わりに「1_Person」、「1_Company」の値があるため、入力の外観が崩れます。多分誰かがそれを修正する方法を知っていますか?
アップデート2
ああすごい!TokenInputの最後のバージョンをgithubからダウンロードしました(以前にloopj.comからダウンロードしました)。これで動作します。
それでも、別の解決策を知っていれば問題ありません。