如何将属性添加到R​​ails 3模型

时间:2011-02-20 23:42:05

标签: ruby-on-rails

我有一个Book模型,它有两个属性,Title和Subtitle。当副标题为空白时,我只想返回标题,否则应返回两者。通过在模型中添加以下内容,这是最好,最简洁的方法吗?

def full_title
  self.subtitle.blank? ? self.title : "#{self.title}: #{self.subtitle}"
end

它确实有效,但有些东西似乎有些偏离,也许是丰富的自我......

2 个答案:

答案 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