【问题标题】:How to loop an array in seed_fu fixture instead of manually entering each element?如何在 seed_fu 夹具中循环数组而不是手动输入每个元素?
【发布时间】:2015-11-05 21:23:20
【问题描述】:

我有一个包含 150 个(ish)时区的数组。

x = ["Central Time (US & Canada)", "Pacific Time Zone (US & Canada), .....]

我有一个 seed_fu 夹具文件:

TimeZone.seed(:name,
    { name: "Central Time (US & Canada)" },
    { name: "Pacific Time Zone (US & Canada)" }
 ) 

seed_fu 是否允许循环遍历我的数组,而不是为每个元素手动创建种子文件条目?

【问题讨论】:

    标签: ruby-on-rails seeding


    【解决方案1】:

    试试这样的:

    TimeZone.seed(:name, *x.map { |zone_name| { name: zone_name } }) 
    

    【讨论】:

    • 谢谢!效果非常好。介意我问为什么需要 splat 运算符吗?
    • seed 方法不需要一个数组,它只需要一个开放式值列表,所以不是seed(:name, [a, b, c, d]),而只是seed(:name, a, b, c, d),因此需要 splat。
    猜你喜欢
    • 2021-04-08
    • 2021-03-27
    • 1970-01-01
    • 2020-11-02
    • 2022-01-02
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多