Как я могу использовать Rails.logger из JavaScript - PullRequest
0 голосов
/ 19 января 2011

У меня есть html.erb, я хочу использовать регистратор

<script type="text/javascript">
  $j(function(){

    $j('#AddQuestion').click(function(){
     //Send and http transaction to the server to get the address
      $j('#dialog').dialog(
        {buttons:{OK:function (event) {
                say('You clicked the ' + $(event.target).text() + ' button' );
              },  No:function (event) {
                say('You clicked the ' + $(event.target).text() + ' button' );
              }
                }
         });

      $j('#dialog').dialog('open');

    });
  });
</script>

Ответы [ 3 ]

7 голосов
/ 19 января 2011
# controllers/logs_controller.rb
class LogsController < ApplicationController
  def create
    logger.debug params['message']
    render :nothing => true
  end
end

# config/routes.rb
map.logs "logs", :controller => 'logs', :action => 'create', :conditions => {:method => :post}

# js
$.post('/logs', {message: 'Your log message'})
1 голос
/ 19 января 2011

Фрогз правильно. Вот пример использования функции XHR JQuery для пересылки сообщений в настроенный класс ведения журнала.Простое использование Rails.logger вместо этого пользовательского класса является подпоркой.

1 голос
/ 19 января 2011

Вам необходимо понять разницу между кодом на стороне сервера (кодом, который выполняется на веб-сервере, например, Ruby / Rails) и кодом на стороне клиента (кодом, который выполняется навеб-браузер пользователя, например, JavaScript).

Единственный способ, которым JavaScript может использовать метод Ruby, - это сделать запрос (обычно через AJAX) к серверу и заставить сервер вызывать код Ruby в ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...