Я пытаюсь реализовать select 2 с помощью драгоценного камня select2-rails, но я не знаком с jQuery или rails.
В основном я пытался скопировать пример заполнителя с этого веб-сайта и адаптировать его к своим потребностям:
http://rails-select2-example.herokuapp.com/
У меня есть поле, в котором перечислены исполнители для события. Первоначально у меня было простое текстовое поле для :performer. Но я хотел бы заменить это поиском, основанным на имени пользователя profile_name, которое я затем могу назначить полю :performer.
Итак, у меня есть что-то вроде этого:
<%= select_tag "performer", options_from_collection_for_select(@user, "id", "profile_name"), include_blank: true, id: "performer", data: { placeholder: "Choose a performer" } %>
Вслед за этим:
<script type="text/javascript"> $(document).ready(function() {
$('select#performer').select2({
placeholder: "Choose a performer",
allowClear: true
});
});
</script>
Который работает и дает мне раскрывающийся список пользователей. Но я не уверен, как передать эту информацию в поле :performer. Это, вероятно, действительно просто, настолько, что всякий раз, когда я искал simple2, нигде не упоминалось, как вы передаете его в поле. Пожалуйста помоги!
Обновление1:
Я могу заставить его отправить, используя следующее, НО это становится простым полем выбора, а не полем автозаполнения select2.
<%= f.select_tag "performer", options_from_collection_for_select(@user,
"profile_name", "profile_name"), include_blank: true, id: "performer", data:
{ placeholder: "Choose a performer" } %>
Обновление2:
Он работает, но все еще не может отобразить заполнитель.
<%= f.select :performer, options_from_collection_for_select(@user,
:profile_name,:profile_name), {}, include_blank: true,
id: "performer", data: { placeholder: "Choose a performer" } %>