使用ActsAsTaggableOn重置代码标签

时间:2013-01-29 17:38:09

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

这是我的方法:

def rename
  old_tag = params[:old_tag]
  new_tag = params[:new_tag]

  if old_tag != new_tag
    # find any articles that use the old tag
    Article.tagged_with(old_tag).each do |article|
      # give articles with the old tag the new tag
      article.tag_list.add(new_tag)
      # remove the old tag
      article.tag_list.remove(old_tag)
      article.save
    end
  end

  render :json => "#{old_tag} renamed to #{new_tag}"
end

我遇到的问题是.save正在为文章添加新标记,但它不会删除旧标记。

1 个答案:

答案 0 :(得分:0)

我遇到的问题是更新标签会启动所有相关模型的验证,在我的情况下验证失败,因为我的开发机器上的图像不可用,附件验证失败。

要忽略验证,我会这样做:

article.save(:validate => false)