Ruby on Rails:自定义getter或自定义助手

时间:2011-06-30 00:50:19

标签: ruby-on-rails ruby-on-rails-3 model

如果有人没有添加照片,我想显示默认的头像图像。我假设我需要在模型中做一个自定义的getter或者帮助。

如果我做了吸气器,它看起来像这样:

def avatar_url
  "default_url" unless self.avatar
end

2 个答案:

答案 0 :(得分:6)

使用read_attribute方法检测是否存在。

def avatar
  read_attribute("avatar") || default_avatar
end

答案 1 :(得分:0)

另一种可能的解决方案是使用迁移在数据库级别设置默认值。这样,您就不必为默认情况做任何特殊操作。

迁移可能类似于:

change_table :users do |t|
  t.string :avatar, :default => 'default_url'
end

来自:http://guides.rubyonrails.org/migrations.html