我正在学习Ruby on rails并希望将我的git repo导入Cloud9以继续在那里工作。
https://github.com/christoph88/sample_app
我导入了它。是否安装了捆绑包,rake db:migrate,rake test:prepare,一切似乎都运行正常。
直到我尝试注册或登录。然后我得到以下错误。我读到了与路线有关的地方,但我不明白。
有人可以帮我找到问题吗? (并向我解释)谢谢!
SQL (0.4ms) UPDATE "users" SET "remember_token" = ?, "updated_at" = ? WHERE "users"."id" = 1 [["remember_token", "92add7938701a70880243cf9ca88338d37b1a0ae"], ["updated_at", Fri, 29 Aug 2014 10:21:28 UTC +00:00]]
(13.2ms) commit transaction
Redirected to https://sample_app-c9-christoph88.c9.io/users/1
Completed 302 Found in 88ms (ActiveRecord: 13.9ms)
[2014-08-29 10:21:28] ERROR URI::InvalidURIError: the scheme https does not accept registry part: sample_app-c9-christoph88.c9.io (or bad hostname?)
/usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/uri/generic.rb:1203:in `rescue in merge'
/usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/uri/generic.rb:1200:in `merge'
/usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/webrick/httpresponse.rb:276:in `setup_header'
/usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/webrick/httpresponse.rb:206:in `send_response'
/usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/webrick/httpserver.rb:110:in `run'
/usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/webrick/server.rb:295:in `block in start_thread'
答案 0 :(得分:0)
Cloud9是否允许您将应用名称从“sample_app”更改为“sample-app”(即用连字符替换下划线)?这可能是最复杂的解决方案。
如果你不能改变应用程序的名称,@ Bharath Mg链接到另一个Stack Overflow线程是有帮助的(这里又是:Is there a workaround to open URLs containing underscores in Ruby?)。该线程中接受的答案捕获open-uri库引发的 InvalidURIError
并使用net / http库再次尝试。
编辑:The other Stack Overflow post实际上只是有用,因为该帖子中的提问者注意到错误只发生在子域名称中存在下划线时,并且接受的答案似乎表明问题:“URI中的一个错误,uri-open,HTTParty和许多其他宝石都使用了URI.parse。”这篇文章中的提问者使用的是Rails,而不是简单的Ruby,因此无法轻松实现接受的答案。
答案 1 :(得分:0)
我通过使用'重命名'来重命名应用程序。宝石。新名称不应包含下划线。之后,我将重命名的文件夹推送到github中的新存储库。在新的Cloud9项目文件中重新加载该新存储库。重建一切,让它恢复运作。
Cloud9项目文件存在后,url会保留应用名称。更改该URL的唯一方法是创建一个新项目。