微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 将哈希作为参数传递给Rake任务

我有一个佣金任务
task :post_hit,[:host,:title,:description,:model,:num_assignments,:reward,:lifetime,:qualifications,:p,:opts] => :environment do |t,args|

:p需要是一个哈希,但如果我尝试:

rake turkee:post_hit["http://www.staging.collegesportsbluebook.com","LS Info","Fill In Player First Name","mechanicalturk",100,0.01,2,{},{id: 5},{}]

错误地说id:无法解析(空间似乎做了什么).

如果我试过:

rake turkee:post_hit["http://www.staging.collegesportsbluebook.com",{"id: 5"},{}]

字符串“id:5”被解释为单个字符串.

我们不允许通过哈希来耙任务吗?

解决方法

当您通过终端发出rake任务时,您处于UNIX或Bash环境中,因此您需要遵守该语言的规则,据我所知,该规则不包括哈希.我可能错了.

http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html#toc5

这并不意味着编写rake任务的人没有做一些聪明的事情来将字符串解析成哈希.如果我是你,并试图找出它,我会看看源代码,看看该rake任务如何解析它的变量.

PS.如果它是你正在使用的gem并且你也在使用bundler,你可以发出bundle open gem_name来打开源代码,rake任务通常以.rake结尾…

原文地址:https://www.jb51.cc/ruby/264843.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐