创建和更新动作,这是一种好风格吗?

时间:2010-12-17 15:02:40

标签: ruby-on-rails

我正在更新用户对象,但是在保存/更新之前我需要对对象的属性执行一些解析,我是否必须重复它,或者我应该在保存之前使用过滤器来执行此操作? / p>

示例:

def create
   @user = User.new(params[:user]

   @user.parsed_bio = parse_bio(@user.bio)

   if @user.save
      ...
   end
end

def update
   @user = User.find(params[:id])

   if @user.update_attributes(params[:user])
   ...
   end

end

parsed_bio属性不是通过params更新的,我必须做到这一点。

我应该在创建和更新中重复分配,还是可以在某个地方使用过滤器以某种方式执行此操作?

1 个答案:

答案 0 :(得分:4)

您可以在用户模型中执行此操作:

class User < ActiveRecord::Base
  before_save :parse_bio

  private
  def parse_bio
    # parse your self.bio here
  end
end