【问题标题】:Using acts-as-taggable-on with jQuery-tokenInput plugin for multiple taggable fields使用带有 jQ​​uery-tokenInput 插件的acts-as-taggable-on 来处理多个可标记字段
【发布时间】:2016-03-01 04:57:42
【问题描述】:

我在使用带有acts-as-taggable-on gem 的令牌输入插件来保存自定义 tag_list 的标签时遇到问题。现在,我在User.rb 中有acts_as_taggable_on :skills,所以我想在skill_list 中添加标签。目前,我在参数中看到服务器日志skill_tokens"=>"161",所以我相信表单正在发送标签ID,但是当我在控制台中尝试user.skillsuser.taggings 时,它不会显示任何内容。

我不确定我做错了什么。我需要你的帮助。有什么帮助,谢谢!

用户.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

用户控制器

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

【问题讨论】:

  • 请详细说明什么是“出错”——您是否遇到错误?没有看到你应该看到的东西? (如果是,你希望看到什么?)看到你不应该看到的东西?等等。
  • 我遇到的问题是,当我尝试“user.skills”或“user.taggings”来确认数据是否保存到数据库时,它什么也没显示。即使参数正在发送,数据也不会保存到数据库中。
  • 我认为您不需要 attr_accessor,它在您的强大参数中。 name 也不是默认的 tokenvalue 吗?

标签: jquery ruby-on-rails ruby jquery-tokeninput act-as-taggable-on


【解决方案1】:

问题解决了。我在咖啡脚本中添加了一些代码,如下所示:

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

【讨论】:

  • 您的代码对您有用吗?你能编辑你的路线吗?
猜你喜欢
  • 1970-01-01
  • 2011-04-08
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多