Как использовать вспомогательный метод с input_html с simple_form - PullRequest
0 голосов
/ 20 декабря 2018

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

<%= f.input :no_players, collection: (0..4), input_html: { id_for_trigger } %>

, где вспомогательный метод равен

def id_for_trigger
    return unless @select_trigger
    'id: :no_players_trigger'
end

, но при этом появляется следующее сообщение об ошибке

syntax error, unexpected '}', expecting =>
input_html: { id_for_trigger }  );

Как мне это исправить?

1 Ответ

0 голосов
/ 20 декабря 2018

Фигурные скобки означают, что вам нужно передать хеш.Попробуйте это ...

input_html: { id: id_for_trigger }

:input_html устанавливает атрибут html, поэтому вам нужно указать, какой атрибут вы пытаетесь установить.

Итак, если это так, ваш помощникдолжно быть ....

def id_for_trigger
  return 'your_default_id' unless @select_trigger
  'no_players_trigger'
end

your_default_id - это идентификатор, который обычно имеет элемент select.Таким образом, любые другие страницы, использующие css или javascript, прикрепленные к your_default_id, не будут затронуты.

...