我在我的应用的几个地方使用jquery自动完成功能,包括带有网址的表单:
http://www.fonsiuris.net/fr/administration/actes/nouveau/122
app / views / administration / actes表单有以下字段:
<%= lieux.text_area :place, :value => params[:acte] ? @place["place"] : "", class:"field_places", data: {autocomplete_source: lieux_enum_path} %>
在routes.rb中:
get 'lieux/enum' => 'lieux#enum'
这是我的routes.rb的第一个网址
但是,当我在文本区域中键入字母时,例如具有自动完成功能的“Dou”,它指向此URL:
http://www.fonsiuris.net/fr/biblios/trouver?utf8=✓&ch_bib[aut_titre_cherche]=Douai&commit.x=6&commit.y=2&term=Dou
当我输入多个术语时,该术语会被添加到URL中,如下所示:
/fr/biblios/trouver?utf8=%E2%9C%93&ch_bib%5Baut_titre_cherche%5D=Douai&commit.x=5&commit.y=11&term=Paris
(杜埃和巴黎都被添加为搜索词)
它应该指向这个网址:
http://www.fonsiuris.net/lieux/enum?term=Dou
这给出了正确的结果。我使用相同的代码,在我的应用程序的几个地方使用相同的javascript,它在所有其他地方工作正常!
rails routes | grep enum
的输出是:
lieux_enum GET /lieux/enum(.:format) lieux#enum
motclefs_enum GET /motclefs/enum(.:format) motclefs#enum
actes_enum_acte_mot GET /actes/enum_acte_mot(.:format) actes#enum_acte_mot
biblios_enum_rec GET /biblios/enum_rec(.:format) biblios#enum_rec
administration_archives_enum GET /administration/archives/enum(.:format) administration/archives#enum_archive
administration_biblios_enum GET (/:locale)/administration/biblios/enum(.:format) administration/biblios#enum_titres {:locale=>/fr|en|nl|it/}
administration_auteurs_enum GET (/:locale)/administration/auteurs/enum(.:format) administration/auteurs#enum_noms {:locale=>/fr|en|nl|it/}
到目前为止我尝试过的:
我不知道从哪里开始寻求解决这个问题。
我将根据我从@thiebo获得的内容提供一个更清晰的答案。
<%= lieux.text_area :place, :value => params[:acte] ? @place["place"] : "",
class:"field_places", data: {autocomplete_source: lieux_enum_path} %>
此字段显示两次,具有相同的字段名称。删除数据属性上没有自动完成成员的字段。
为了子孙后代,这个问题与rails,routes或jquery无关。我把其他字段放在另一个字段中,其字段与我放置自动完成的字段相同。