使用模板URL运行新的URL失败,HTTP错误代码406

时间:2018-02-07 22:02:47

标签: ruby-on-rails ruby

我使用的是Rails 5.0.0和Ruby 2.5

rails new命令采用名为-m的选项,该选项允许您将URL传递给模板。 Reference Doc

但是,当我尝试将网址传递到Github上的一个非常简单的模板文件时,我收到了406 Not Acceptable HTTP错误代码。

这是我正在运行的命令 ::

rails new helloworld -m https://github.com/jw81/Rails_Templating/blob/master/template.rb

这是我得到的错误 ::

apply  https://github.com/jw81/Rails_Templating/blob/master/template.rb
   Traceback (most recent call last):
    27: from /usr/local/bundle/bin/rails:23:in `<main>'
    26: from /usr/local/bundle/bin/rails:23:in `load'
    25: from /usr/local/bundle/gems/railties-5.0.0/exe/rails:9:in `<top (required)>'
    24: from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
    23: from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
    22: from /usr/local/bundle/gems/railties-5.0.0/lib/rails/cli.rb:14:in `<top (required)>'
    21: from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
    20: from /usr/local/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
    19: from /usr/local/bundle/gems/railties-5.0.0/lib/rails/commands/application.rb:17:in `<top (required)>'
    18: from /usr/local/bundle/gems/thor-0.20.0/lib/thor/base.rb:466:in `start'
    17: from /usr/local/bundle/gems/thor-0.20.0/lib/thor/group.rb:232:in `dispatch'
    16: from /usr/local/bundle/gems/thor-0.20.0/lib/thor/invocation.rb:133:in `invoke_all'
    15: from /usr/local/bundle/gems/thor-0.20.0/lib/thor/invocation.rb:133:in `map'
    14: from /usr/local/bundle/gems/thor-0.20.0/lib/thor/invocation.rb:133:in `each'
    13: from /usr/local/bundle/gems/thor-0.20.0/lib/thor/invocation.rb:133:in `block in invoke_all'
    12: from /usr/local/bundle/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command'
    11: from /usr/local/bundle/gems/thor-0.20.0/lib/thor/command.rb:27:in `run'
    10: from (eval):1:in `apply_rails_template'
     9: from /usr/local/bundle/gems/railties-5.0.0/lib/rails/generators/app_base.rb:158:in `apply_rails_template'
     8: from /usr/local/bundle/gems/thor-0.20.0/lib/thor/actions.rb:220:in `apply'
     7: from /usr/local/lib/ruby/2.5.0/open-uri.rb:35:in `open'
     6: from /usr/local/lib/ruby/2.5.0/open-uri.rb:735:in `open'
     5: from /usr/local/lib/ruby/2.5.0/open-uri.rb:165:in `open_uri'
     4: from /usr/local/lib/ruby/2.5.0/open-uri.rb:224:in `open_loop'
     3: from /usr/local/lib/ruby/2.5.0/open-uri.rb:224:in `catch'
     2: from /usr/local/lib/ruby/2.5.0/open-uri.rb:226:in `block in open_loop'
     1: from /usr/local/lib/ruby/2.5.0/open-uri.rb:755:in `buffer_open'
     /usr/local/lib/ruby/2.5.0/open-uri.rb:377:in `open_http': 406 Not Acceptable (OpenURI::HTTPError)

我可以下载template.rb文件并将文件的磁盘位置传递到-m选项,它可以正常工作。但是将Github网址传递给-m并不起作用。

有没有其他人遇到这个并且可以告诉我我是否做错了什么?

1 个答案:

答案 0 :(得分:1)

您需要提供指向原始文件的链接,而不是显示该文件的html页面。对于示例中的文件,该链接为:

https://raw.githubusercontent.com/jw81/Rails_Templating/d63247b282bef19ae5ac64504089fa83baafbcec/template.rb

您可以通过单击&#34; Raw&#34;获取github上任何文件的原始链接。标题右侧的按钮。