关于rails上的ruby:我可以将参数传递给rake db:seed吗?

Can I pass an argument to rake db:seed?

我的seeds.rb的一部分将大量数据加载到数据库中。我希望能够有选择地加载这些数据。例如。

1
$ rake db:seed

1
$rake db:seed[0]

只加载运行站点所需的数据,而

1
$ rake db:seed[1]

也会将我的大数据文件加载到数据库中。这有可能吗?我怎样才能做到这一点?如果没有,有人能想出一种方法来做我想做的事吗?


Rake的论点很难传递出去,不幸的是(不管怎样,db:seed并没有传递它的论点)。

最好的办法是使用环境变量传递额外的参数:

1
rake db:seed minimal=yes

1
2
unless ENV["minimal"]
  # do stuff