ruby-on-rails - 如何使用 faker gem 生成假食品名称?
问题描述
我已经阅读了几个教程,但我仍然不确定如何做我想要的,因此如果听起来很抱歉,我很抱歉。我有一个名为“Sandwitches”的活动记录,它具有以下属性:名称、价格和可用性。由于我想为其生成虚假数据,我不太确定如何实现这样的目标,因为名称属性faker可以生成代表人名的名称。例如,我想为三明治生成名称,例如“Club Sandwitch”或“Pesto with Feta Cheese”。反正有没有用faker gem做这个?或者基本上我可以使用任何其他宝石来实现这一目标吗?
感谢您提供的任何帮助!
解决方案
如果您在这里查看 faker gem:https ://github.com/stympy/faker/blob/master/lib/faker/default/food.rb (注意,我不隶属于faker开发)您可以看到有一个食物模块。所以试试这个:
>> Faker::Food.dish
=> "Tiramisù"
>> Faker::Food.dish
=> "Mushroom Risotto"
>> Faker::Food.vegetables
=> "Radish"
我还看到了一个甜点模块和其他一些看起来很有趣的模块。在 github 的目录结构中上一两棵树以查看其他选项。Faker做了很多事情!
编辑:另外,你的 AR 桌子应该是“三明治”,而不是“三明治”;)他们不是有沙力的女巫,他们是带面包的食物;p
另一个编辑:我没有看到专门用于三明治的选项。但也许因为这是假数据,你可以只使用 disc 选项。
最后编辑我发誓:你可以用类似的东西“伪造”一个三明治:
breads = ["Brioche", "Rye", "Whole Wheat"] # Add more breads here, https://en.wikipedia.org/wiki/List_of_breads can help
ingredients = (1..(rand(3)+1)).map{rand > 0.5 ? Faker::Food.ingredient : Faker::Food.vegetables}
sandwich = "#{ingredients.to_sentence} on #{breads.sample(1).first}"
可以返回如下结果:
=> "Buckwheat Flour on Rye"
=> "Broccoli and Jicama on Whole Wheat"
=> "Peppers on Rye"
=> "Chia Seeds on Rye"
=> "Pecan Nut and Anchovies on Brioche"
=> "Arugula on Rye"
推荐阅读
- python - 上传图片和已经保存的图片,这两部分要显示在两个不同的html模板上
- scala - Scala - 如何创建带有和不带参数的函数的组合 ArrayList
- reactjs - 尝试导入错误:“地图”未从“react-leaflet”导出(导入为“LeafletMap”)帮助我该怎么办
- git - git checkout 分支后如何解决 Permission denied 错误?
- python - 从子进程调用的外部 python 脚本打印 tqdm 进度条
- android - 应用程序关闭时警报不响(Android Studio)
- html - 带有 mailto 操作的 HTML 表单中显示为乱码的希伯来字符
- r - 具有不同键数的数据集上的 inner_join
- javascript - 分配给常量变量时出错
- python - 可以从单个文件可执行文件中提取python源代码吗