2017-03-05 83 views
0

我想弄清楚如何在簡單形式中使用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 %> 

無。

回答

0

我跑過你的帖子尋找一些Rails 5更新信息。我是一個新手,但我正在努力解決太多小寶石的問題。我想知道你是否不應該放棄select2,只用simple_form做你需要的東西?只是一個想法,因爲我不知道如何處理標籤,因爲你正在嘗試做。

祝你好運。

+0

我真的放棄了鐵軌。我正在學習反應。有很多關於rails/jquery的東西看起來已經過時並且不受支持。經過4。5年的努力,我才得以學習。無論如何感謝提示,但我放棄了軌道和jQuery。 – Mel

+0

@梅爾。祝你好運。我對React的快速閱讀是,它不是一個完整的解決方案。 – Greg

+0

不 - 我現在要用rails後端來使用它。 – Mel