Во-первых, я думаю, что вы не должны использовать файл yml для перевода данных в БД.Вы можете использовать yml для перевода имен столбцов БД или названий моделей и т. Д., Но не данные, которые хранятся в БД.Это плохой дизайн.Лучше всего было бы хранить разные переводы в БД, но вы хотели знать, как выполнять такой поиск, не сохраняя его в БД, поэтому:
Вы можете сделать это различными способами.Если вы генерируете ссылки на теги (как здесь, на SO), то это очень просто.Вы должны сгенерировать эти ссылки следующим образом:
# controller
@tags = Tag.all
# view
<% @tags.each do |tag| %>
<%= link_to I18n.t tag.name, search_tag_path(tag) %>
<% end %>
или что-то похожее в соответствии с вашими моделями и маршрутами.
Если вы хотите иметь несколько флажков или выбрать поля, в которых вы выбираете теги,вы должны сделать это подобно приведенному выше примеру:
# controller
@tags = Tag.all
# view
<% form_tag search_path do |f| %>
<% @tags.each do |tag| %>
<%= I18n.t tag.name %> <%= check_box_tag "tags[#{tag.id}]" %>
<% end %>
<% end %>
Здесь при отправке вы получите массив идентификаторов выбранных тегов: params[tags]
.