如果有人没有添加照片,我想显示默认的头像图片。我假设我需要在模型或助手中进行自定义获取。Ruby on Rails:自定义获取者或自定义帮手
如果我这样做,吸气,将是这个样子:
def avatar_url
"default_url" unless self.avatar
end
如果有人没有添加照片,我想显示默认的头像图片。我假设我需要在模型或助手中进行自定义获取。Ruby on Rails:自定义获取者或自定义帮手
如果我这样做,吸气,将是这个样子:
def avatar_url
"default_url" unless self.avatar
end
使用read_attribute
法检测的存在。
def avatar
read_attribute("avatar") || default_avatar
end
关于这个的问题,头像是数据库中的实际值,我将添加一个额外的属性到avatar_url的模型,如果有的话返回默认值,否则返回字符串值 – Jhorra
这就是这个头像方法所做的。它拦截对该属性的调用,并返回数据库值,如果它不是零,否则返回'default_avatar'。 –
另一种可能的解决方案是使用迁移在数据库级别设置默认值。这样你就不必为缺省情况做任何特殊的事情。
迁移可能看起来像:
change_table :users do |t|
t.string :avatar, :default => 'default_url'
end
是否使用carrierwave宝石? –