Идеи на простом примере Rails-Ajax 'Hello World'? - PullRequest
0 голосов
/ 03 ноября 2010

Обучение / повторное обучение ajax с использованием рельсов.Я думаю, что rails-ajax сильно изменился за последние несколько лет, поэтому не нашел очень простого примера ajax типа «Hello World» (без ресурсов, без записей).

Это попытка (ниже) на простом примере рельсов ajax, основанном на ссылках, которые я мог найти.Это работает - однако, это кажется немного громоздким (то есть один-к-одному .js-файлу к действию запроса ajax).У кого-нибудь есть мысли по поводу улучшенного (более элегантного) рельса ajax 'Hello World'?

---------------------
View - 'edit.html.erb' 


 <div id="div_msg">
 <%= link_to "Wow",
  {:controller=>"rectangle_set_model" , :action=>'ajax_msg' , :id=>'1'},
  :remote => true,
  :class => 'link1',
  :update => "div_hello",
  :id => 'link1'
 %>
 </div>

 <div id="div_hello">
 </div>

--------------------- 
Controller - 'rectangle_set_model_controller.rb' 

 def ajax_msg
  @msg1 = "Buenos Dias!"
  respond_to do
   |format|
   format.html
   format.js
   format.xml
  end
 end


--------------------- 
Javascript (corresponding to ajax_msg format.js in controller)
- 'ajax_msg.js' 

$('#div_hello').html("<%= controller.msg1 %>");

--------------------- 

Ответы [ 2 ]

0 голосов
/ 03 ноября 2010

Спасибо, ребята

Самуил - почему-то не совсем работает

Всякий раз, когда я включаю эту строку

format.js {render: json => {: text => "Привет, мир"}}

Я получаю ошибку в браузере (по ссылке действия)

ошибка всплывающего окна браузера --------> Ожидается ';'

это

0 голосов
/ 03 ноября 2010

Почему вы должны визуализировать представление JS?

Просто используйте UJS и стандартный вызов Ajax.Действие You Rails может отображать JSON:

format.js { render :json => { :text => "Hello the world" } }

// application.js
// jQuery
// in $(document).ready(function()...) or $("#my_button").click(function()...)
//
$.ajax({
  url: "/home/hello",
  success: function(response) {
    $("#div_hello").html(response.text);
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...