Для Ruby on rails, какова связь между Java-скриптом и контроллером / представлением?

1

Я понимаю, что контроллер - это процесс и вычисление данных и переход к просмотру.

Но каково использование java-скрипта в проекте ruby on rails?

Я пытаюсь следовать этой ссылке, чтобы разобраться с моим картографическим окном google, но на самом деле понятия не имею, куда положить этот скрипт и как заставить его функционировать. Как будто я держу ключ, но не знаю, как добраться до двери.

Теги:

3 ответа

0
Лучший ответ

Но каково использование java-скрипта в проекте ruby on rails?

Javascript в rails делает то же самое, что делает javascript вообще, то есть манипулировать DOM (изменять содержимое HTML)

  • Изменение элементов HTML
  • Удалить элементы HTML
  • Создание новых элементов HTML
  • Копирование и клонирование HTML-элементов
  • И многое другое...

не знаю, куда положить этот скрипт и как его заставить

Вам нужно разместить свой javascript в папке assets/javascript. Если вы посмотрите на файл макета (предположим application.html.erb), вы увидите, что у вас есть

<%= javascript_include_tag "application" %>

Который в основном загружает все ваши javascript из app/assets/javascript/application.js, чтобы вы могли либо написать js внутри этого файла, либо создать новый файл js (порекомендуем вам сделать новый) и потребовать, чтобы файл внутри приложения.js by

//= require file_name

или если у вас есть //= require_tree. в вашем приложении application.js, то он автоматически потребует все файлы из app/assets/javascript. Для получения дополнительной информации вы должны проверить Rails Asset Pipeline

  • 0
    Я просто проверяю, что в моем html-файле нет <% = javascript_include_tag "application"%>, это все еще будет работать?
  • 0
    @ Вен нет, не будет. Вы должны связать свой JS в макете. Это так же, как вы создаете обычную веб-страницу, где вы связываете все свои файлы CSS и JS
Показать ещё 1 комментарий
1

Первый из контроллеров не имеет никакого отношения к JavaScript. JavaScript используется для получения интерактивности в статическом веб-сайте. Например, вы хотите показать что-то внутри div-тега, если вы нажмете на кнопку. JavaScript - это ваш путь. Это использование JavaScript в проекте rails.

В вашем приложении rails есть папка app/assets/javascript. Внутри этой папки вы создаете новый файл с именем "googlemaps.js.coffee" и вставляете код со стороны карты google в него. Ваш файл application.js заботится о том, чтобы все ваши файлы JavaScript были включены в ваше приложение.

  • 0
    так что это означает поместить его в app / assets / javascript и требовать его в application.js. мне нужно снова найти его в html-файле, указав его местоположение <script src = "URL">?
  • 0
    Если вы не изменили свой файл application.js, вы должны найти что-то вроде "// = require_tree." это там. Это будет включать все файлы из каталога app / assets / javascripts автоматически. У вас нет страниц .html.erb о файле JavaScript. Rails делает все это в фоновом режиме для вас :)
1

Вы добавили этот камень в свой файл gem? https://github.com/apneadiving/Google-Maps-for-Rails.

Если да, то вы можете добавить html в свой файл вида. и js в конкретном связанном с контроллером файле js. (assets/javascript/mycontroller.js) или в файле application.js. Все остальные изменения, о которых я упоминал на драгоценных камнях, читают меня.

  • 0
    Если я добавлю в mycontroller.js, мне нужно будет снова ввести его в HTML-файл? Я пробовал раньше, но не работает.
  • 0
    Нет, нет необходимости снова вводить его в HTML-файл. Если у вас есть // = require_tree. в вашем файле application.js. Он автоматически загрузит все ваши представления HTML.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню