在不同的模型/控制器上使用rails jquery自动完成
我正在使用rails jquery autocomplete gem,用于我的rails项目,其中包含一个模型在多个控制器/视图上的数据的普通形式帮助器。比如说,我有一个评论模型,在很多场合使用评论 在这个特殊的例子中,我在管理名称空间中使用了几个表单。对于普通的选择字段,我有一个有效的解决方案,但正如您所想象的,要从中选择的选项将随着时间的推移而增加,我不希望选择字段有数百个结果。因此,我希望它变成一个自动完成的文本字段。但我不知道如何访问正确的数据 在我的示例中,我使用了一个外国管理员控制器上的@gallery表单。在现在的表格中,我让编辑选择哪个@game属于@gallery。像这样:在不同的模型/控制器上使用rails jquery自动完成,jquery,ruby-on-rails,autocomplete,Jquery,Ruby On Rails,Autocomplete,我正在使用rails jquery autocomplete gem,用于我的rails项目,其中包含一个模型在多个控制器/视图上的数据的普通形式帮助器。比如说,我有一个评论模型,在很多场合使用评论 在这个特殊的例子中,我在管理名称空间中使用了几个表单。对于普通的选择字段,我有一个有效的解决方案,但正如您所想象的,要从中选择的选项将随着时间的推移而增加,我不希望选择字段有数百个结果。因此,我希望它变成一个自动完成的文本字段。但我不知道如何访问正确的数据 在我的示例中,我使用了一个外国管理员控制器
<%= form_for(@gallery) do |f| %>
...
<%= f.select :game_id, options_for_select(@games.map {|g| [g.name, g.id]}) %>
...
<% end %>
然后它告诉我id丢失了,我添加了:id_元素=>'some_元素',并添加了一个隐藏字段的正确值。我检查了源代码,隐藏字段在那里,但这并没有改变这个自动完成gem上的错误消息
也许有人可以告诉我,我如何在外方控制器的视图中使用rails jquery autocomplete gem访问数据?我通过反复试验发现了一些问题,现在可以按照我的意图使用这个插件了。因此,我想提供一个答案。也许其他人可以用它,至少有人投票支持我的问题 对于所需的每个模型,可以将autocomplete方法添加到所需的每个控制器。起初,我认为我必须在我想要得到结果的特定控制器上使用它,因为插件自述文件中的示例倾向于巧合地提出这一点。因此,使用:
class AdminController < ApplicationController
...
autocomplete :game, :name
我唯一不知道的是,当选中时,如何在表单字段中显示名称而不是ID。我会编辑我的答案,只要我知道如何做。也就是说,如果可能的话
<%= f.autocomplete_field :game_id, autocomplete_name_games_path %>
class AdminController < ApplicationController
...
autocomplete :game, :name
<%= f.autocomplete_field :game_id, admin_autocomplete_game_name_path, :id_element => '#image_game_id' %>