2016-11-29 2 views
0

내 태그를 토큰 화하기 위해 select2를 사용하려고합니다. 그러나, 나는 그것을 작동시키기에 많은 어려움을 겪고있다. 나는 많은 것들을 시도했지만 아무것도 작동하지 않는 것 같아요. 다른 사람들의 솔루션을 검색하고 연결하는 것이 저에게 효과적이지 않습니다. select2 및 acts_as_taggable_on을 사용하여 태그를 토큰 화하려면 어떻게해야합니까? 사용자가 태그를 선택하거나 존재하지 않는 태그를 만들 수있게하려고합니다.레일에서 acts_as_taggable_on으로 select2를 선택하십시오

레일 5를 사용하고 있습니다. 'select2-rails'gem을 사용하고 있습니다.

내 모델 :

class Event < ApplicationRecord 
    belongs_to :user 
    acts_as_commentable 
    acts_as_taggable_on :tags 
end 

내 강력한 PARAMS :

def event_params 
    params.require(:event).permit(:title, :description, :tag_list, tag_lists: []) 
end 

참고 : 나는 또한 시도했다 "tag_list : []"(단수). "태그 목록 : []"없이 시도했습니다. ": tag_list"를 제거하면 데이터베이스에 보존 된 태그가 없습니다.

내보기 :

<%= form_for @event do |f| %> 

    <p> 
    <%= f.label :title %><br> 
    <%= f.text_field :title %> 
    </p> 

    <p> 
    <%= f.label :text %><br> 
    <%= f.text_area :description %> 
    </p> 

    <p> 
    <%= f.label :tag_list, "Tags" %><br> 
    <%= f.text_field :tag_list %> 
    </p> 
    <p> 
    <%= f.submit %> 
    </p> 

<% end %> 

참고 : 여기 몇 가지를 시도했지만, 나는 현재에있어 곳이다.

내 JS :

//= require jquery 
//= require jquery_ujs 
//= require select2 
//= require turbolinks 
//= require_tree . 
//= require bootstrap 

내 스타일 :

/* 
*= require_tree . 
*= require_self 
*= require select2 
*/ 

것들 내가 events.coffee에서 시도했다 :

$ -> 
    $('#event_tag_list').select2 tags: [] 
    return 

$('#event_tag_list').select2 
    tags: true 
    tokenSeparators: [',',' '] 

참고 : 나는 몇 가지 더 시도했습니다 그러나 이것은 내가 가장 많이 일한 것입니다.

답변

0

생각해 본 사람이 비슷한 문제에 직면 할 경우를 대비해 답변 해 드리겠습니다. Rails 5 및 Turbolinks의 작동 방식과 관련이 있습니다. RailsGuides를 탐색 한 후에 터보 링크가 정상적인 페이지 로딩 프로세스를 무시한다는 것이 밝혀졌습니다. 나는 보석을 Bootstrap-Tokenfield로 바꿨지 만 원칙은 동일합니다.

$(document).on "turbolinks:load", -> 
 
\t $('#event_tag_list').tokenfield();

내 강력한 PARAMS :

def event_params 
    params.require(:event).permit(:title, :description, :tag_list) 
end 

내 양식 :

<p> 
    <%= f.label :tag_list, "Tags" %> <br> 
    <%= f.text_field :tag_list, value: f.object.tag_list.to_s %> 
    </p> 

RailsGuides 설명 : http://guides.rubyonrails.org/working_with_javascript_in_rails.html#how-turbolinks-works

이것은 내가 내 자바 스크립트를 고정하는 방법이다
+0

안녕하세요 죄송합니다. 게시 한 이후로 약간의 시간이 걸렸지 만 비슷한 문제가 있으며 레일스 5에서 작동하지 않습니다.이 자습서를 사용하고 있습니다 - https://rcode5.wordpress.com/2013/03/ 07/acts_as_taggable_on-select2-super-easy-tags-in-rails/그리고 js와 jquery 코드가 터보 링크 문제를 말한 것처럼 번거롭니까. 해결할 수없는 '토큰 필드'란 무엇입니까? – Means