Ruby on rails 未知参数错误“-p";部署到heroku时
我们正在向Heroku部署rails应用程序。应用程序应该使用TrollopGem作为命令行解析器来调用youtube api。我们一直在找回这个错误Ruby on rails 未知参数错误“-p";部署到heroku时,ruby-on-rails,ruby,api,heroku,trollop,Ruby On Rails,Ruby,Api,Heroku,Trollop,我们正在向Heroku部署rails应用程序。应用程序应该使用TrollopGem作为命令行解析器来调用youtube api。我们一直在找回这个错误 2014-07-30T23:17:57.526014+00:00 app[web.1]: Error: unknown argument '-p'. 2014-07-30T23:17:57.526020+00:00 app[web.1]: Try --help for help. 2014-07-30T23:17:57.526541+00:00
2014-07-30T23:17:57.526014+00:00 app[web.1]: Error: unknown argument '-p'.
2014-07-30T23:17:57.526020+00:00 app[web.1]: Try --help for help.
2014-07-30T23:17:57.526541+00:00 app[web.1]: Completed 500 Internal Server Error in 7466ms
这就是我们的Trollop代码的样子
def self.youtube_search(query)
youtube_service_api_name = "youtube"
youtube_api_version = "v3"
# opts = HTTParty.get("https://www.youtube.com/results?search_query=russia")
opts = Trollop::options do
opt :q, 'Search term', :source => String, :default => query
opt :maxResults, 'Max results', :source => :int, :default => 25
end
更奇怪的是,它一小时前还在工作,现在却不工作了。有人有什么想法吗?这似乎在任何地方都没有记录 Trollop在提供未定义的参数时将失败。在代码中定义了
-q
选项,但未定义-p
以下是parse
方法中的相关行:
trollop.rb
339 unless sym
340 next 0 if ignore_invalid_options
341 raise CommandlineError, "unknown argument '#{arg}'" unless sym
342 end
至于它以前为什么工作,也许你当时通过了
-q
,现在却不小心通过了-p
?是的,我也遇到了同样的问题。未知参数-p和500内部错误
我决定放弃Trollop,只是硬编码我自己的选择
因此,我只是初始化了一个opts散列并插入了键值对,没有其他问题。我们尝试将:p添加到opt行,而不是:q,但它给出了一个未知参数-e错误。正确的方法是什么?