Это не очень хорошая идея - вообще. В отличие от выбора, текстовый ввод не является меткой / значением. То, что вы видите, это то, что вы получаете.
Итак, пока вы можете сделать:
<datalist id="item_id">
<% current_user.items.each do |i| >
<option><%= i.name %></option>
<% end %>
</datalist>
, который заполнит ввод item_id
именем. Но вы потеряете идентификатор на пути. Это означает, что вам нужно либо искать элемент по имени, либо использовать какую-то хитрость javascript для хомяка этого идентификатора и замены входного значения до того, как пользователь отправит его.
В этот момент вы могли бы на самом деле создайте AJAX автозаполнение с таким же усилием, которое меньше хакерской путаницы.