我正在更新用户对象,但是在保存/更新之前我需要对对象的属性执行一些解析,我是否必须重复它,或者我应该在保存之前使用过滤器来执行此操作? / 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更新的,我必须做到这一点。
我应该在创建和更新中重复分配,还是可以在某个地方使用过滤器以某种方式执行此操作?
答案 0 :(得分:4)
您可以在用户模型中执行此操作:
class User < ActiveRecord::Base
before_save :parse_bio
private
def parse_bio
# parse your self.bio here
end
end