2012-01-24 3 views
2

Мой опыт работы с рельсами и Javascript очень ограничен.Rails 3.1, JS, Simple Alert не отображается

Я пытаюсь открыть базовую функцию оповещения, чтобы убедиться, что все в рабочем состоянии, но не работает, потому что все не в рабочем состоянии!

Когда индексная страница загружается запустить этот код каждый раз, когда:

$(document).ready(function() { 
alert('Welcome to index!'); 
}); 

Этот код в настоящее время находится в файле в активах/JavaScript/default.js

В моей application.html. Еврорадио, в заголовке я добавил

<%= javascript_include_tag :default %> 

и в моем контроллере под индексным форматом я также добавил

format.js { render 'default.js'} 

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

<script type="text/javascript" src="/assets/default.js?body=1"> 

хотя я не понимаю, тело = 1 часть еще и под скриптами он показывает код, поэтому ясно, что браузер может видеть код по какой-то причине не выполняет его.

В моих драгоценных камнях у меня есть jquery-rails (1.0.19) и установка пакета уже запущена.

Я пробовал эту страницу с помощью firefox, internet explorer и chrome безрезультатно. и я прошу прощения, если я уже пропустил такой вопрос.

Благодарю вас всех за ваше время.

+0

Можете вы добавить порядок загрузки сценариев? Кроме того, в хроме, перейдите на страницу и откройте консоль инструментов dev - есть ли у вас какие-либо сообщения? – minikomi

+0

Спасибо за указание инструментов dev в chrome minikomi, он возвратил более значимые ошибки, затем firebug –

ответ

2

В Rails 3.1, вы должны использовать 'application', не 'default':

<%= javascript_include_tag :application %> 

Это загрузит app/assets/javascript/application.js файл, который на самом деле просто манифест, чтобы загрузить все другие JavaScript файлы, включая JQuery:

// This is a manifest file that'll be compiled into application.js, which will include all the files 
// listed below. 
// 
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, 
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. 
// 
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the 
// the compiled file. 
// 
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD 
// GO AFTER THE REQUIRES BELOW. 
// 
//= require jquery 
//= require jquery_ujs 
//= require_tree . 

Он загружает jQuery, затем линия require_tree . загружает все другие файлы javascript.

С вашим кодом, как есть, jQuery никогда не загружается, поэтому он не понимает функцию $.

+0

Спасибо, Дилан, это было именно то, что вы сказали, jquery не был загружен, поэтому не распознал $, переход на: приложение забрало ошибку неопределенного $ –