0

尝试使用“faker”创建一个表以生成随机数据,对于我的用户名列,我想连接表中其他两个字段的两个子字符串。

例如:

First Name: John, Last Name: Abbott, Username: jabbott

我像这样播种我的数据

  Post.create!(
      Lastname: Faker::Name.last_name,
      Firstname: Faker::Name.first_name,
      Username: " first letter of first name" + "lastname"
    )

是否有在 Ruby 上执行此操作的子字符串方法?

4

1 回答 1

1

不是“子字符串”方法,但您可以访问字符串中的特定点[]

例子:

username = "#{first_name[0]}#{last_name}".downcase

或者你可以像这样猴子补丁String

class String
  def user_name
    first_name, last_name = self.split
    "#{first_name[0]}#{last_name}".downcase
  end
end

然后像这样生成你的字符串

name = Faker::Name.name
create_hash = {
  :Firstname => name.split.first,
  :Lastname  => name.split.last,
  :Username  => name.user_name,
}
Post.create!(create_hash)
于 2013-09-27T18:25:34.973 回答