我想弄清楚如何在简单形式中使用select2与我的rails 5应用程序。Rails 5,简单形式与Select2导轨
我在应用程序中使用行为作为标记。
我在宝石文件安装这种宝石:
gem 'select2-rails'
我想在我的Gemfile安装此宝石,但我得到一个错误说,它不能被发现。我想知道它是否与Rails 5不兼容(鉴于最后一次更新是2015年)。
# gem 'select2_simple_form'
我的目标是做一个表单输入字段,用户可以通过选择标记的模型可用5个预定义的标签完成。
我试过在this post提出的解决方案和这篇文章,我已经尝试了这个文档流中的每个例子。我不能让他们任何工作。
在我的application.js,我有:
//= require select2
我也尝试过每一种:
// $(document).ready(function() {
// $(".js-example-basic-multiple-limit").select2({
// maximumSelectionLength: 2
// });
//
// });
$(document).ready(function() {
$('.multiple-input').each(function() {
$(this).select2({
tags: true,
tokenSeparators: [','],
theme: 'bootstrap',
placeholder: 'Separated by comma'
});
});
});
$(document).ready(function() {
$('.input-row #proposal_randd_field_list, .input-row #proposal_randd_field_list').select2({tags:[]})
});
我不能让这个在所有的工作。当我检查谷歌控制台 - 我没有得到任何JS错误,但我也没有得到一个工作选择2功能。我可以用简单的形式从下拉菜单中选择普通的方式。
我的目标是让我的Randd :: Field模型(它具有一个名为title的属性;这些标题是提案模型上的标签,并存储在该提案模型的randd_field_list中)的内容可作为可搜索,如下所示的下拉列表here(在加载远程数据的标题下)。
有谁知道如何使用简单的形式在轨道中实现这一点。这些文件根本没有排队。
我现在的尝试是:
<%= f.collection_select :randd_field_list, Randd::Field.order(:title), :title, :title, {:selected => @proposal.randd_field_list, :include_blank => true}, input_html: {:class => 'multiple-input', :multiple => true} %>
以上不允许我选择多个标签(启用了的application.js功能的任何变化)。
我也曾尝试:这些工作
<!-- <select class="js-example-basic-multiple" multiple="multiple"> -->
<!--<input type="hidden" id="ajax-example" /> -->
<%#= f.label :randd_field %>
<%#= f.collection_select :randd_field_list, Randd::Field.order(:title), :title, :title, input_html: { class: 'multiple-input', multiple: "multiple" } %>
<%#= f.collection_select :randd_field_list, Randd::Field.order(:title), :title, :title, {:selected => @proposal.randd_field_list, :include_blank => true} %>
<!-- </select> -->
<!-- <select class="js-example-basic-multiple" multiple="multiple"> -->
<!-- <option value="AL">Alabama</option>
<option value="WY">Wyoming</option>
</select> -->
<%#= f.text_field :randd_field_list, input_type: "textbox", name:"proposal[randd_field_list][]", html_options: { style: 'width: 100%' } %>
<%#= f.collection_select :randd_field_list, Randd::Field.order(:title), :title, :title, {} %>
<%#= f.input 'randd_field_list',
options_from_collection_for_select(@randd_fields, :title, :title),
multiple: true %>
<%#= f.collection_select 'randd_field_list',
options_from_collection_for_select(@randd_fields, :title, :title),
multiple: true %>
<%#= f.input :randd_field_list,:collection => @randd_fields,:label_method => :title,:value_method => :title,:label => "Fields" ,:include_blank => false, :multiple => true %>
无。
我真的放弃了铁轨。我正在学习反应。有很多关于rails/jquery的东西看起来已经过时并且不受支持。经过4。5年的努力,我才得以学习。无论如何感谢提示,但我放弃了轨道和jQuery。 – Mel
@梅尔。祝你好运。我对React的快速阅读是,它不是一个完整的解决方案。 – Greg
不 - 我现在要用rails后端来使用它。 – Mel