这节课讲解前端脚本语言(之前学过的javascript)的使用方法,而且在微博应用中使用简单的脚本语言进行简单开发(指使用javascript给前端页面添加动态效果)和测试。 javascript
咱们能够直接在html页面直接嵌入js语言,rails中也能够这样作。 html
咱们怎么在上面的页面中嵌入js呢?其实都一个套路,在最下面添加一个脚本语言的标签叫script,类型写javascript说明是使用的动态脚本语言是javascript。而后在里面写上要执行的代码,好比咱们添加效果:点击登录按钮弹出一个消息提示框显示这个按钮已经被点击了。 前端
点击按钮效果以下: java
return false; <!--防止按钮事件继续传递,直接return false-->咱们点击消息提示框的肯定那么登录事件不会被触发,仍是停留在原来的登录页面,这个就是return false的做用终止事件继续向下执行,因此表单不会被提交。 git
那么问题来了,rails框架确定有更高级封装的解决方案去进行前端开发,因此上面那种只是普通页面进行的前端开发,rails有更高级的解决方案,以下javascripts文件夹里面就是rails自动帮咱们生成的作前端开发的文件: windows
这个使用原理跟helpers相似,每个控制器或者说是资源,它具备一个对应的样式文件如posts、sessis、users,很显然你要对控制器中的哪一个视图进行开发那么你就将代码写到对应的文件里就能够。 服务器
咱们发现控制器对应的前端文件后缀不是js而是coffee,这个就是rails推荐使用的前端脚本语言coffeescript(说白了它就是一种更加简洁的js语言),rails默认前端开发推荐使用coffeescript因此后缀就是coffee。 session
Coffeescript咱们要学习能够去查看它的官方网站,有中文版的讲解也很详细。 app
咱们仍是以上面页面将来,把以前普通方式添加javascript的代码删除掉,而后打开对应sessions的coffee文件: 框架
以下文件告诉coffeescript的做用而且第3行告诉你了官方网站
而后咱们在coffee文件里面写上删除的javascript代码,可是语法稍微有点区别:
记住在写以前必须在前面加上$ ->不然coffeescript脚本是没办法触发的,这个记住便可。
还有跟javascript很大的区别就是缩进取代了{}
咱们添加完代码后发现点击没有弹出消息提示框,怀疑还要去以下文件添加
没看到代码,展开+号就有了,添加第15行代码以下:
把15行改为就不报错了,不过正常显示登录页面仍是不能弹出消息提示框:
不过咱们仍是删除添加的第15行代码,问题并非出在这里,问题多是windows系统使用rails出现各类意外的毛病,这个先无论。
还有咱们通常都打开两个git控制台,1个是运行rails server,另外一个执行安装gem或其余的命令。咱们要退出rails服务器就在运行rails server的那个git控制台按下Ctrl+c这两个按钮就可(不是在另外一个Git控制台按下,不然没效果)
若是在另外一个git按下ctrl+c再重启会提示以下,由于要在另外一个git控制台按下ctrl+c才对。
要是实在退不出,能够删除下面目录的文件便可
还有要注意:不要轻易使用bundle update(因此安装新的gem包以后不要执行该命令,重启rails服务器就好,重启rails服务器就是ctrl+c而后再rails server),不然不少gem包会被更新,那么咱们之前作的更改可能发生变更,好比bcrypt的错误还会再次出现
就是用来包含咱们工程中须要的coffee文件
以下视频中多了最后两行,可是咱们的没有,就算添加了不只没效果反而会出错,这个先无论,估计跟系统是windows有关。
如上require_tree .指的就是把自动生成的3个coffee文件都包含进去。
咱们若是使用第三方库那么就是把库文件添加到工程的lib文件夹下,而后在如上application.js文件中包含这个库文件,包含就是添加代码//= require ***,***指的就是lib文件夹中添加的库文件。