我有 Ruby on Rails 应用程序,它有一个映射到 People 表的 Person 模型。该表包括 first_name、middle_name 和 last_name,如下所示:
John Q. Doe
John H. Doe
Jane M. Doe
Jim R. Doe, Jr.
Jack Timothy Doe
现在,当我的输入是特定名称派生的缩写时,我需要对表执行查找。缩写形式如下:
- 名字的第一个首字母后跟一个空格
- 中间名的首字母后跟一个空格(如果有中间名)
- 全名
例如:
find_by_abbreviated_name("J Q Doe") => would find the John Q. Doe record
find_by_abbreviated_name("J T Doe") => would find the Jack Timothy Doe record
find_by_abbreviated_name("J R Doe, Jr.") => Jim R Doe, Jr.
Ruby 中是否有一种巧妙的方法可以使用名字和中间名的第一个字母以及完整的姓氏进行查找。我希望我能想出一种方法来做到这一点,这样我就不必在 Person 表中添加另一个字段。