0

select2의 영향을 text_field 또는 select인지 여부에 관계없이 레일 5 형식으로 볼 수 없습니다. 누구든지 tag_list가 채워지지 않는 이유를 알고 있습니다. tag_list에는 값이 있지만 아래의 스냅에서 볼 수 있듯이 "No results found"가 표시됩니다. select2는 몇 가지 옵션을 시도 했으므로 Rails 5에서 작동합니까? enter image description here레일 5 ask_as_taggable with select2

형태 : 모두 내가 대신 선택 2의 간단한 텍스트 필드를 만들어 강한 PARAMS에 :tag_list을 추가하여 DB에 태그를 추가 할 수 있었다 상자

<%= f.label :tags, "Tags (separated by commas)" %> 
<%= f.text_field :tag_list, value: f.object.tag_list.each { |e| e} %> 
<input type="checkbox" id="checkbox" >Select All 

에 모든 값을 표시합니다 선택합니다.

application.js -

참고 : 나는 선택 2-전체 어디 선가 구글에보고하는 데 사용 O를 선택 2 일을 didnot.

//= require underscore 
//= require select2-full 

JS 코드 선택 2

$(function() { 
$('input#post_tag_list').select2({tags:[], placeholder: "Choose a Tag", allowClear: true}) 

})에 대한;

지금, 나는 정상적인 HTML로도 선택 2와 함께 일 & JS를 확인 (또는 선택 2-전체)

<select multiple id="e1" style="width:300px"> 
    <option value="A">Apple</option> 
    <option value="B">Banana</option> 
    <option value="G">Grapes</option> 
    </select> 

    <input type="checkbox" id="checkbox" >Select All 

그리고 해당 JS 코드는 다음과 같습니다

$("#checkbox").click(function(){ 
if($("#checkbox").is(':checked')){ 
    $("#post_topic_list > option").prop("selected","selected"); 
    $("#post_topic_list").trigger("change"); 
}else{ 
    $("#post_topic_list > option").removeAttr("selected"); 
    $("#post_topic_list").trigger("change"); 
} 

});

일반적인 HTML select-input이 select2와 함께 작동하는 경우 누군가가 지적 할 수 있습니까? 왜 레일 5에서 동일한 기능을 수행하지 못합니까? 나는 bootstrap_form_for와 form_for를 시도했다. 나는 심지어 turbolinks 문제에 대해 읽었습니다 ... 어떻게 select2를로드하지 않는 turbolinks로 문제를 해결할 수 있습니까?

<%= f.select(:tag_list, Tag.all.order(:name).collect { |a| [a.name, a.id]}, {}, id: "tag_list", label:'Tags', :multiple => true)%> 

JS 코드는 :

답변

0

제가 선택 텍스트 필드를 변경하여 해결

$(function() { 
$("#tag_list").select2(); 

});

예, app/models에 Tag.rb라는 파일을 추가하십시오. 보석은 테이블 만 설치하지만 모델은 만들지 않습니다.

class Tag < ApplicationRecord 
    validates_presence_of :name 
end