2016-01-21 103 views
3

在以下示例中,middle_name是可選的。任何沒有middle_name的名字都需要額外的空白。請任何人按照方法進行更正。在Ruby on Rails中格式化全名

def name 
    "#{first_name} #{middle_name} #{last_name}".titleize 
    end 

回答

7

你可以試試這個:

def name 
    [first_name, middle_name, last_name].select(&:present?).join(' ').titleize 
end 
+0

謝謝,它的做工精細 – Santi

3

使用這個代替

def name 
    [first_name, middle_name, last_name].reject(&:blank?).join(' ').titleize 
end 
0
def name  
    "#{first_name} #{middle_name}#{" " if middle_name.present?}#{last_name}".titleize 
end