Проблема с обоими текущими ответами состоит в том, что они не обрабатывают три (+) названия слов, таких как Билли Боб Торнтон.
'Billy Bob Thornton'.split(/(.+) (.+)$/) => ["", "Billy Bob", "Thornton"]
'Billy Bob Thornton'.split(' ', 2) => ["Billy", "Bob Thornton"]
В исходной публикации запрашиваются все, кроме фамилии, чтобы перейти к первомуназвание.Поэтому я бы предложил:
def full_name
[first_name, last_name].join(' ')
end
def full_name=(name)
elements = name.split(' ')
self.last_name = elements.delete(elements.last)
self.first_name = elements.join(" ")
end