data-pre rails 3 + jquery tokeninput + acts_as_taggable_on

时间:2013-08-06 20:05:22

标签: jquery ruby-on-rails-3 acts-as-taggable-on jquery-tokeninput

我正在开发一个使用标签的应用程序,为此,我正在使用jquery tokeninput和acts_as_taggable_on,但是当保存一些更改时,标签开始显示id号而不是name再次保存现有标签时以数字作为名称。

我认为这是数据预先错误或映射错误。

在我看来:

= form_for @profile, :html=> {:class => 'custom'} do |f|
= f.text_field :skill_list, :id => "profile_skills", "data-pre" => @profile.skills.to_json

控制器:

def skills
query = params[:q]
if query[-1,1] == " "
  query = query.gsub(" ", "")
  ActsAsTaggableOn::Tag.find_or_create_by_name(query)
end

@skills = ActsAsTaggableOn::Tag.all
@skills = @skills.select { |v| v.name =~ /#{query}/i }
respond_to do |format|
  format.json { render :json => @skills.map{|t| {:id => t.name, :name => t.name }}}
end

的application.js:

$(function(){ 
$(document).foundation(); 
$("#profile_skills").tokenInput("/profiles/skills.json", {
    prePopulate:       $("#profile#skills").data("pre"),
    preventDuplicates: true,
    hintText:          "Ingresa alguna habilidad",
    noResultsText:     "No se encontraron tags, crea uno con espacio",
    searchingText:     "Buscando...",
    animateDropdown:   true,
    theme: 'facebook'

}); });

路线:

get "profiles/skills" => "profiles#skills", :as => :profiles_skills

0 个答案:

没有答案