如果有人沒有添加照片,我想顯示默認的頭像圖片。我假設我需要在模型或助手中進行自定義獲取。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寶石? –