我正在使用rails-jquery-autocomplete gem为我的Rails项目使用普通表单助手,在一些控制器/视图上使用一个模型的数据。就像我们说我有一个评论模型并在很多场合使用评论一样。
在这种特殊情况下,我在admin命名空间中使用了几种形式。对于普通的选择字段,我有一个可行的解决方案,但是您可以想象,选择的选项将随着时间的推移而增长,我不希望选择具有数百个结果的字段。因此,我希望它成为自动填充文本字段。但我不知道如何访问正确的数据。
在我的示例中,我在外部管理员控制器上使用@gallery
的表单。现在,我让编辑选择哪个@game
属于@gallery
。像这样:
<%= form_for(@gallery) do |f| %>
...
<%= f.select :game_id, options_for_select(@games.map {|g| [g.name, g.id]}) %>
...
<% end %>
如果我使用
<%= f.autocomplete_field :name, autocomplete_name_games_path %>
相反它告诉我,我的:name
对象无法使用@gallery
,这是真的,到目前为止,我已将autocomplete :name
添加到游戏控制器,因为它应该填充来自它的数据。
但我认为我也可以在管理控制器的表单中使用游戏控制器:name
的自动完成功能。
当我尝试将其与:game_id
类似
<%= f.autocomplete_field :game_id, autocomplete_name_games_path %>
然后它告诉我id丢失了,我添加了:id_element => '#some_element'
,其中包含我添加的隐藏字段的正确值。我检查了源代码,隐藏字段在那里,但这不会更改此自动完成宝石上的错误消息。
也许有人可以告诉我,如何在外部控制器的视图中使用rails-jquery-autocomplete gem访问数据?