Ruby on rails 使用Deviate时,如何在更新前添加事务?

Ruby on rails 使用Deviate时,如何在更新前添加事务?,ruby-on-rails,ruby-on-rails-3,devise,Ruby On Rails,Ruby On Rails 3,Devise,我正在用Desive使用act_as_taggable_on。 每个用户可以在其个人资料编辑页面上设置最多3个标签。 在它保存之前,我希望有如下类似的事务。 这是我为我的社区模型(由scaffold创建)实现的 params[:community][:tag_list] = params[:community][:tag_list].gsub(/[ ]+/," ") params[:community][:tag_list] = params[:community][:tag_list].gsu

我正在用Desive使用act_as_taggable_on。
每个用户可以在其个人资料编辑页面上设置最多3个标签。
在它保存之前,我希望有如下类似的事务。 这是我为我的社区模型(由scaffold创建)实现的

params[:community][:tag_list] = params[:community][:tag_list].gsub(/[ ]+/," ")
params[:community][:tag_list] = params[:community][:tag_list].gsub(/[.]+/,",")

我不知道何时使用Desive进行此操作。

将代码移动到模型以处理此功能

alias_method :super_tag_list=, :tag_list=
def tag_list=(tag_names)
  self.super_tag_list = tag_names.gsub(/[ ]+/," ").gsub(/[.]+/,",")
end

谢谢但是它说super:no superclass method'tag_list='for#在方法之前添加
acts_as_taggable
。我把它“acts_as_taggable”放在:tags'Aha!!谢谢,现在可以了!!你是超级工程师!!:)如果可以,请回答我的另一个问题:)我的意思是关于设计的问题