最有效的方法是让一个Three.js项目在rails应用程序的ruby中工作?
我正在尝试-unsuccessfully-使一个Three.js项目在Ruby on Rails框架内工作
我一直认为必须有一种更简单的方法来做到这一点,而不是我现在这样做的方式
首先,我搜索了一个关于如何将Three.js代码移植到rails上的指南/教程,并且在这个主题上找不到什么。 我认为这意味着:要么人们不经常这样做 – 或者 – 很明显,没有人费心去记录它。
接下来我用Google搜索了一个three.jsgem,在这里发现了一个 – http://rubygems.org/gems/threejs-rails (我放弃了试图开始工作 – 经过多次搞乱清单文件)
接下来,我将Three.js的源代码安装到vendor文件夹中,然后再次使用清单文件。 这次我取得了更大的成功 – 尽管在Three.js中似乎存在依赖性问题,require_tree(和我自己)都没有注意到。
所以从理论上讲,经过几个小时计算出Three.js加载序列后,我可能会让它工作,但这感觉不对。
我觉得我在这里走了一条死胡同,我错过了一些明显的东西。
- 有一个更好的方法吗?
Rails主要是一个后端服务器端框架。 Three.js是一个用于在浏览器中呈现WebGL的前端库。 他们彼此没什么关系。 我觉得你太努力了。
该过程与添加jQuery或任何其他javascript库的过程相同。
- 删除
app/assets/javascripts/three.js
的three.js
文件 - 将
#= require three
加到application.js.coffee
- 确保
javascript_include_tag('application')
是应用程序布局模板的一部分
现在启动服务器,加载页面,然后在javascript控制台中键入THREE
。 如果你得到一个回报值,你的好! 现在编写一些自定义的javascript,将其保存在app/assets/javascripts
javascripts中,并将其包含在您想要做出令人敬畏的3D内容的页面上。
您还可以使用我今天为我的rails应用程序创建的以下gem threejs-rails 。 如果您使用4+轨道,它可以直接使用。 如果您需要进一步的支持,请提交PR并提交PR!
效率最高的显然是通过CDN,我计划尽快添加支持。
- 将canvas转换为图像并使用ruby on rails和javascript在新窗口中打开
- 将JavaScript变量传递给ruby-on-rails控制器
- ExecJS :: ProgramError:意外字符’#’
- Jasmine不会从资产管道加载javascript文件
- 带有node.js的Ruby子进程
- Rails / Javascript:如何将rails变量注入(非常)简单的javascript中
- 如何做一个Ajax GET请求从rails获取数据并将其传递给javascript(谷歌地图)?
- jQuery的jquery-1.10.2.min.map触发404(未找到)
- Ruby on Rails – Geocoder对象作为谷歌地图标记数组