ruby-on-rails - rails中的json自动完成错误的url
问题描述
我在我的应用程序的几个地方使用 jquery 自动完成功能,包括带有 url 的表单:
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 的第一个网址
但是,当我在文本区域中输入字母时,例如具有自动完成功能的“斗”,它会指向这个 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
(Douai 和 Paris 都被添加为搜索词)
它应该指向这个 url:
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/}
到目前为止我所尝试的:
- 重组路线.rb
- 重写 form.html.erb 使其包含与我的应用程序的其他地方完全相同的代码
- 到处使用相同的 javascript
- 重新安装 jquery 和 jquery-ui:现在使用 cdn 而不是 gem - 没有任何区别。
我不知道从哪里开始寻找解决这个问题。
解决方案
我将根据我从@thiebo 获得的信息提供一个更清晰的答案。
<%= lieux.text_area :place, :value => params[:acte] ? @place["place"] : "",
class:"field_places", data: {autocomplete_source: lieux_enum_path} %>
此字段以相同的字段名称出现两次。删除数据属性上没有自动完成成员的字段。
推荐阅读
- javascript - 通过 execCommand("paste",...) 触发的 IE11 onPaste 事件
- php - Yii2 ArrayDataProvider 不显示已经分页的数据
- angular - firebase-tools 错误 - 找不到模块“循环”
- php - Woocommerce 'thankyou' 钩子只运行一个功能
- javascript - 双击事件不起作用如果内容为空
- arrays - 如何通过比较数组(日期)和对象数组来生成 json?
- sql - 动态变量 T-SQL(使用存储过程)
- amazon-web-services - 如何过滤 Elasticache 发送的 SNS 消息?
- android - 在按钮单击时反应本机水平滚动
- visual-studio-code - VSCode 中自定义 JSX 组件的选项卡快捷方式