0

Я новичок в Rails. У меня есть программа, которая выполняет основные функции AJAX в RAILS. Тестирование ссылки при нажатии, будет выполнять тестовый путь в контроллере, который выполняет test.js.erb. Но я вижу, что отображается в журналах сервера, но не вижу предупреждающего сообщения.AJAX запрос Rails 3.1 не отображается javascript

index.html.erb:

<%= link_to 'TEST', test_path, :remote => true %> <br> 

тест действие:

def test 
    respond_to do |format| 
     format.js 
    end 
    end 

тест js.erb: журнал

"alert('Hello Rails');" 

Сервер:

Started GET «/ test "для xxxx в 2013-06-30 11:34:37 ​​-0 700 Обработка по умолчаниюController # test as JS
Rendered Default/test.js.erb (0.3ms) Завершено 200 OK в 2ms (Просмотров: 2.1ms | ActiveRecord: 0.0ms)

Если я изменил код, чтобы отобразить js непосредственно из действия контроллера, как показано ниже, я вижу предупреждающее сообщение.

def test 
    render :js "alert('Hello Rails');" 
    end 

Но я хочу, чтобы js выполнялся в отдельном файле js. Может кто-нибудь помочь мне с тем, что я делаю неправильно, и как его выполнить как часть test.js.erb?

+1

просто удалите двойные кавычки из оповещения –

ответ

1

Джо Половина лицо является правильным,

"alert('Hello Rails');" 

должен быть:

alert('Hello Rails'); 

держать это в кавычках будет принимать его в виде строки, и поэтому нет Javascript кода для запуска, все в js-файл представляет его как beeing внутри тегов javascript:

<script type="text/javascript"> 
    content of js.erb file 
</script> 
+0

T Думаю, шляпа не нуждается в ответе. –

+0

согласен, сам вопрос можно удалить. – rmagnum2002