Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不同的模型/控制器上使用rails jquery自动完成_Jquery_Ruby On Rails_Autocomplete - Fatal编程技术网

在不同的模型/控制器上使用rails jquery自动完成

在不同的模型/控制器上使用rails jquery自动完成,jquery,ruby-on-rails,autocomplete,Jquery,Ruby On Rails,Autocomplete,我正在使用rails jquery autocomplete gem,用于我的rails项目,其中包含一个模型在多个控制器/视图上的数据的普通形式帮助器。比如说,我有一个评论模型,在很多场合使用评论 在这个特殊的例子中,我在管理名称空间中使用了几个表单。对于普通的选择字段,我有一个有效的解决方案,但正如您所想象的,要从中选择的选项将随着时间的推移而增加,我不希望选择字段有数百个结果。因此,我希望它变成一个自动完成的文本字段。但我不知道如何访问正确的数据 在我的示例中,我使用了一个外国管理员控制器

我正在使用rails jquery autocomplete gem,用于我的rails项目,其中包含一个模型在多个控制器/视图上的数据的普通形式帮助器。比如说,我有一个评论模型,在很多场合使用评论

在这个特殊的例子中,我在管理名称空间中使用了几个表单。对于普通的选择字段,我有一个有效的解决方案,但正如您所想象的,要从中选择的选项将随着时间的推移而增加,我不希望选择字段有数百个结果。因此,我希望它变成一个自动完成的文本字段。但我不知道如何访问正确的数据

在我的示例中,我使用了一个外国管理员控制器上的@gallery表单。在现在的表格中,我让编辑选择哪个@game属于@gallery。像这样:

<%= 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' %>