jQuery tokeninput текстовое поле перекрываются в первой итерации
Я использую jQuery - плагин tokeninput с направляющими 3. И у меня есть проблема, если event_criteria is_free Я использую jQuery tokeninput для введения тегов в поле tag_tokens, но проблема в том, что поля tokeninput перекрываются в первом объекте subscription_preference. если у меня есть 2 subcription_preferences, два поля tokeninput перекрываются в первом, а второй объект subcription_preferences имеет простое text_field без tokeninput. Это мой код:
<% @subscription.subscription_preference.each do |subscription_preference| %>
<%
eventCriteria = EventCriteria.find_by_id(subscription_preference.event_criteria_id)
if eventCriteria.is_free? %>
<% form_for subscription_preference do |f| %>
<%= f.label :tag_tokens, eventCriteria.name+"(Nueva gestion)" %>
<%= f.text_field :tag_tokens, "data-pre" => subscription_preference.tags.map(&:attributes).to_json %>
<b></b>
<%= f.submit "Save preference", :disable_with => 'Saving preference...' %>
<% end %>
<% end%>
<% end%>
И это картина проблемы:
Как я могу это исправить?
РЕДАКТИРОВАТЬ 2
Добавить теги на лету (решено):
def index
query = params[:q]
#To add new entries with space, but is tedious
#if query[-1,1] == " "
#query = query.gsub(" ", "")
#Tag.find_or_create_by_name(query)
#end
@tags = Tag.where("name like ?", "%#{query}%")
results = @tags.map(&:attributes)
results << {:name => "Add: #{query}", :id => "CREATE_#{query}_END"}
respond_to do |format|
format.html # index.html.erb
format.json { render :json => results}
end
конец
А в модели Subscription_preference измените функцию:
def tag_tokens=(ids)
ids.gsub!(/CREATE_(.+?)_END/) do
Tag.create!(:name => $1).id
end
self.tag_ids = ids.split(",")
конец