Вопрос по javascript, ruby-on-rails, render, flash – Визуализация Flash-сообщения через файл js.erb

1

В моем приложении Rails я хочу визуализировать флэш-сообщение из моего метода контроллераdelete_option (questions_controller) к частичной_edit.html.erb внутри самой папки вопросов. У меня есть файл jsdelete_option.js.erb и я мог бы успешно отредактировать редактирование с помощью строки ниже в элемент div с idedit_subquestion.

$("#edit_subquestion").html("<%= escape_javascript(render(:partial => "edit")) %>");

Я положил элемент div внутри_edit.html.erb сделать флеш-сообщение как указано ниже.

<div id="flash_delete_option"></div>

Я пытаюсь сделать флэш-сообщение от методаdelete_option к вышесказанномуdiv элемент, как указано ниже.

if((<%=flash[:success]%>).length > 0)
    $("#flash_delete_option").html("<%= escape_javascript(render('<%=flash[:success]%>')) %>");

Я получаю синтаксические ошибки. Пожалуйста, помогите решить эту проблему. Все попробовал согласно ответу. Не понимаю.

Ваш Ответ

2   ответа
2

.erb. Кроме того, поскольку вы находитесь внутри escape_javascript, вы не вызываете рендер там.

<% if flash[:success] %>
    $("#flash_delete_option").html("<%= escape_javascript flash[:success]%>");
<% end %>
Здесь нет синтаксической ошибки. Это должно быть в другом месте (пожалуйста, опубликуйте синтаксическую ошибку) Jesse Wolgamott
Пожалуйста, обновите ваше текущее приложение / views / questions / delete_option.js.erb --- оно не соответствует моему. Jesse Wolgamott
Извините, мне нужно положить это сюда? Rajesh Omanakuttan
Спасибо за помощь. Но опять же синтаксическая ошибка. Rajesh Omanakuttan
Синтаксическая ошибка в вопросах # delete_option Отображение /home/local/Rajesh/VX/app/views/questions/delete_option.js.erb, где поднялась строка № 2: ошибка компиляции / home / local / Rajesh / VX / app / views / questions / delete_option .js.erb: 2: синтаксическая ошибка, неожиданная ';' ... lash_delete_option "). html (" '); @ output_buffer.append = (escap ... ^ Извлеченный источник (около строки # 2): 1: <% if flash [: success]?%> 2: $ ( "#flash_delete_option"). html ("<% = escape_javascript flash [: success]%>"); 3: <% end%> 4: 5: <% if flash [: note]?%> Rajesh Omanakuttan
0

проблема была в петле Я изменил это. сейчас работает.

<% unless flash[:success].blank? %>
    $("div .success").html("<%= escape_javascript (raw(flash[:success])) %>");
    $("div .success").show(200);
    $("div .success").click(function(){
        $("div .success").hide(200);
    });
<% end %>

Похожие вопросы