我已使用此视频http://railscasts.com/episodes/102-auto-complete-association-revised在我的应用程序的表单中设置自动完成搜索输入。(该视频可能仅供会员使用,所以我也会发布我的代码。本质上,它会搜索数据库(名称)的一列,并在您键入时在下拉列表中自动完成。这一切都很好,但是,我想要什么要提交的表单是提交与名称相关的 ID,而不是名称本身。
我假设仅在视图中没有简单的方法可以做到这一点。任何帮助都会很棒。下面的代码,让我知道是否有任何其他代码会有所帮助。
谢谢
控制器:
def game_name
game.try(:name)
end
def game_name=(name)
self.game = Game.find_by_name(name) if name.present?
end
咖啡:
jQuery ->
$('#play_game_name').autocomplete
source: $('#play_game_name').data('autocomplete-source')
在视图中:
<%= f.label :game_name, "Search for a game" %>
<%= f.text_field :game_name, :class => "mlm mtm", data: {autocomplete_source: Game.order(:name).map(&:name)} %>