Атрибуты по умолчанию attribute_select и Предикат_селект с использованием Ransack

Я использую гем Ransack в Rails и хотел бы показать атрибут выбора по умолчанию (например, "имя", предварительно выбранный в выпадающем списке), а также предикат по умолчанию (например, "содержит"). Идея состоит в том, чтобы позволить пользователю быстро запрашивать модель пользователя, вводя имя пользователя без необходимости каждый раз выбирать "имя" и "содержит".

Приведенный ниже фрагмент кода является довольно стандартным и показывает мою настройку просмотра.

<%= f.attribute_fields do |a| %>    
  <%= a.attribute_select %>
<% end %>
<%= f.predicate_select compounds: false%>
<%= f.value_fields do |v| %>    
  <%= v.text_field :value, :class => "page_filter_value_field" %>
<% end %>

Любая помощь приветствуется...

1 ответ

Решение

Просто пересмотрел это. Не могу найти что-то на стороне Ransack, может быть, я что-то пропустил. Быстрое неприятное решение состоит в том, чтобы изменить выбор, используя jquery:

$(function(){
  $("#q_c_0_a_0_name option[value=unit_title]").attr("selected","selected") ;
  $("#q_c_0_p option[value=cont]").attr("selected","selected") ;
});

q_c_0_a_0_name является идентификатором раскрывающегося списка attribute_select, где я устанавливаю значение в качестве значения параметра и q_c_0_p является раскрывающимся списком

Это только устанавливает значения по умолчанию для первого экземпляра фильтра, поэтому, когда вы добавляете больше полей фильтра, они остаются пустыми

Другие вопросы по тегам