1

タグで動作するアプリケーションを開発しています。そのためにjquery tokeninputとacts_as_taggable_onを使用していますが、いくつかの変更を保存すると、既存のタグを番号で再度保存すると、タグは名前ではなくID番号を表示し始めます名前の通り。

これはデータ プリ エラーまたはマッピング エラーだと思います。

私からしてみれば:

= 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

終わり

アプリケーション.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
4

0 に答える 0