使用模板URL执行rails new失败,返回HTTP 406错误
解决Rails new -m使用GitHub URL时的406错误
这个坑我之前踩过!你遇到的406 Not Acceptable错误,根源在于你用的是GitHub上的网页版Blob URL,而不是模板文件的原始(raw)内容链接。
问题原因
GitHub的blob链接指向的是渲染后的HTML页面(就是你在浏览器里看到的带代码高亮、导航栏的页面),而Rails的-m选项需要的是纯文本格式的Ruby代码文件。当Rails请求这个HTML URL时,服务器发现请求的内容类型和返回的不匹配,就会抛出406错误。
解决办法
获取模板文件的原始内容URL即可:
- 打开GitHub上那个
template.rb的页面 - 点击页面右上角的Raw按钮(在代码块上方的工具栏里)
- 复制此时地址栏里的URL,它的格式应该是
https://raw.githubusercontent.com/用户名/仓库名/分支名/文件路径 - 用这个URL执行命令:
rails new helloworld -m https://raw.githubusercontent.com/jw81/Rails_Templating/master/template.rb
你本地文件能正常运行,是因为直接读取的就是纯Ruby代码,不存在HTTP请求的内容类型不匹配问题。
内容的提问来源于stack exchange,提问作者Chiefwarpaint
相关产品推荐
相关产品推荐

