我使用的是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
并不起作用。
有没有其他人遇到这个并且可以告诉我我是否做错了什么?
答案 0 :(得分:1)
您需要提供指向原始文件的链接,而不是显示该文件的html页面。对于示例中的文件,该链接为:
https://raw.githubusercontent.com/jw81/Rails_Templating/d63247b282bef19ae5ac64504089fa83baafbcec/template.rb
您可以通过单击&#34; Raw&#34;获取github上任何文件的原始链接。标题右侧的按钮。