对于Ruby on rails,javascript和controller / view之间的关系是什么

时间:2014-08-13 06:40:20

标签: java ruby-on-rails

我知道控制器正在处理并计算数据并传递给视图。

但是在ruby on rails项目中java脚本的用法是什么?

我试图遵循这个link to deal with my google map app但是真的不知道在哪里放这些脚本以及如何使它发挥作用。它就像我拿着钥匙但不知道通往门。

3 个答案:

答案 0 :(得分:1)

控制器的第一个与JavaScript无关。 JavaScript用于将交互性引入静态网站。例如,如果单击按钮,则希望在div标签内显示某些内容。 JavaScript是你的方式。这是rails项目中JavaScript的用法。

在rails应用程序中,您有一个文件夹app / assets / javascript。在此文件夹中,您可以创建一个名为" googlemaps.js.coffee"的新文件。并将谷歌地图一侧的代码插入其中。您的application.js文件会将您的所有其他JavaScript文件都包含在您的应用程序中。

答案 1 :(得分:1)

您是否在宝石文件中添加了这个宝石? https://github.com/apneadiving/Google-Maps-for-Rails

如果是,那么您可以在视图文件中添加html。和js在特定控制器相关的js文件中。 (assets / javascript / mycontroller.js)或application.js文件。宝石上明确提到的所有其他变化都会让我读到。

答案 2 :(得分:0)

  

但是在ruby on rails项目中java脚本的用法是什么?

rails中的Javascript与javascript的功能相同,即操纵DOM(更改HTML内容)

  • 更改HTML元素
  • 删除HTML元素
  • 创建新的HTML元素
  • 复制并克隆HTML元素
  • 还有更多......
  

不知道在哪里放这些脚本以及如何使其功能

您需要将您的javascript置于assets / javascript文件夹。如果你看一下你的布局文件(假设是application.html.erb),你会看到你有

<%= javascript_include_tag "application" %>

基本上从app / assets / javascript / application.js 加载你的所有javascript,这样你就可以在你的文件中写你的js,或者你可以制作一个新的js文件(会推荐)你创建一个新的)并在application.js中通过

来要求该文件
//= require file_name

或者如果你的application.js 中有//= require_tree .,那么它会自动要求app / assets / javascript中的所有文件。有关详情,请查看Rails Asset Pipeline