我经常会在项目中遇到这种情况,如果某个字段为空则取一个固定的值:
然后我就有了下面的写法
class ApmSellMem < ActiveRecord::Base def avartar super || "'http://XXX/default.png'}" end end
以上写法是能够正常工作的,但是貌似与 super 的意思不咋符合,有点歪打正着的感觉,请问这种写法没问题吗?还有更好的写法吗
super
def avatar read_attribute(:avatar) || "'http://XXX/default.png'}" end
#1 楼 @rei 非常好
只有我觉得这里 super 用得没错么
@msg7086 是的,只有你
"'http://XXX/default.png'}"不属于 Model,属于 View,因此,写到 helpers 里更合适,或者使用 decoretors,如draper.
"'http://XXX/default.png'}"
#5 楼 @yanhao 涨姿势了 竟然还有 view model
self[:avatar] || "'http://XXX/default.png'}"