我有一个rake任务,为我的Web应用程序播种数据。我有两个rake任务:“production_data”和“demo_data”。我还有一个名为create_admin_login
的函数。我想在create_admin_login
中放置一个条件开关,以查看哪个任务正在调用它并播种相应的电子邮件值。
我无法弄清楚如何知道调用:task
的内容。我该怎么做呢? (我也意识到这可能不是编写rake文件的正确方法......我应该有一个名为create_demo_admin_login
的单独函数吗?这不是很干。)
答案 0 :(得分:0)
不知道在这段时间之后它是否会有所帮助,但是对于其他人来说,他们会来这里搜索。
如何知道哪个任务正在调用create_admin_login(或换句话说 - 如何知道在rake中执行/调用的任务):
def create_admin_login
foo = Rake.application.top_level_tasks.join(', ')
if /production_data/ =~ foo
# or exclude .join(', ') and make if statement with: foo.include?('production_data')
# seed one data
else
# seed other data
end
end