我有一个Book模型,它有两个属性,Title和Subtitle。当副标题为空白时,我只想返回标题,否则应返回两者。通过在模型中添加以下内容,这是最好,最简洁的方法吗?
def full_title
self.subtitle.blank? ? self.title : "#{self.title}: #{self.subtitle}"
end
它确实有效,但有些东西似乎有些偏离,也许是丰富的自我......
答案 0 :(得分:5)
你也可以使它更简洁一点并删除逻辑:
def full_title
[title, subtitle].compact.join(": ")
end
答案 1 :(得分:4)
无论有没有self
def full_title
subtitle.blank? ? title : "#{title}: #{subtitle}"
end
这是另一种方法,但我认为你的更多 railsy
def full_title
subtitle.blank? ? title : title + ": " + subtitle
end