1

我在使用令牌输入与行为-AS-加标签上的宝石插件保存为自定义tag_list标签的麻烦。现在,我在User.rb中有acts_as_taggable_on :skills,所以我想将标签添加到skill_list。目前,我看到的参数的服务器日志skill_tokens"=>"161",所以我相信形式发送标签ID,但是当我尝试user.skillsuser.taggings在控制台,它不会显示任何东西。使用行为-AS-加标签,与jQuery的tokenInput插件多个加标签领域

我不知道我在做什么错。我需要你的帮助。 Anythings帮助,谢谢你!

User.rb

has_many :taggings, as: :taggable, dependent: :destroy 
has_many :tags, through: :taggings 

attr_accessor :skill_tokens 

acts_as_tagger 
acts_as_taggable 
acts_as_taggable_on :skills 

UserController的

def user_params 
params.require(:user).permit(
    :skill_tokens, 
    :skill_list: [] 
) 
end 

def load_tags 
@user = User.new 
@tags = ActsAsTaggableOn::Tag.all 
respond_to do |format| 
    format.html 
    format.json { render json: tokens(params[:q]) } # get result from tokens method 
end 
end 

# return search result for tags 
def tokens(query) 
@tags = ActsAsTaggableOn::Tag.all 
@tags = @tags.where('name Ilike ?', "%#{params[:q]}%") 
if @tags.empty? 
    [{ id: "<<<#{query}>>>", name: "Add: \"#{query}\"" }] 
else 
    @tags 
end 
end 

def load_categories 
    @categories = Category.all 
end 

,这里是我的jQuery代码

$('#user_skill_tokens').tokenInput '/signup.json ' tokenValue: 'user[skill_list][]' theme: 'facebook'

下面是纤薄

形式
= f.label :skill_tokens, "Tag List" 
= f.text_field :skill_tokens 
+0

请更具体地说明什么是“出错” - 您是否收到错误?没有看到你应该做的事情? (如果是这样,你期望看到什么?)看到你不应该看到的东西?等 –

+0

我遇到的问题是,当我尝试“user.skills”或“user.taggings”以确认数据是否保存到数据库时,它什么也没有显示。即使参数正在发送,数据也不会保存到数据库中。 – Ryuji

+0

我不认为你需要attr_accessor,它是你的强大参数。也没有命名默认令牌值? –

回答

1

问题解决了。我添加了一些代码到我的咖啡脚本如下:

$('#user_skill_tokens').tokenInput '/signup.json ' 
    tokenValue: 'name' 
    theme: 'facebook 
+0

你的代码适合你吗?你能编辑你的路线吗? –