Что такое целое число множественной точности?

«A - это n-битовое целое число с кратной точностью, представленное в radix r» Что означает это утверждение? В частности, что означает A, являющееся n-битовым целым числом с множественной точностью? Пожалуйста, помогите. Спасибо

-121--1452009- Как общаться между наблюдателем и контроллером Я понимаю, что наблюдатель Rails не должен иметь прямого доступа к контроллеру. Это имеет смысл, нет ничего говорящего о том, из какого контекста будет вызван наблюдатель. Однако у меня есть дело...

Я понимаю, что наблюдатель Rails не должен иметь прямого доступа к контроллеру. Это имеет смысл, нет ничего говорящего о том, из какого контекста будет вызван наблюдатель. Однако у меня есть дело, которое, я думаю, заслуживает косвенного коммуникационный между ними, и я задаюсь вопросом, как его достичь.

Регистрация и запись событий аналитики

Я хотел бы использовать наблюдателя для запуска определенных событий в Google Analytics. В настоящее время это работает путем, что контроллер приложений имеет метод, который регистрирует событие, а затем шаблон application.html.erb печатает соответствующий javascript на странице:

class ApplicationController < ActionController::Base

  def logGAEvent category, action, opt_hash={}
    event = { :category => category,
              :action => action,
              :label => opt_hash[:label],
              :value => opt_hash[:value]}
    (session[:ga_events] ||= []) << event
  end

end

Application.html.erb

<html>
  <head>
    ...

    <script type="text/javascript">
      <%= print_ga_events_js %>
    </script>

  </head>
  ...
</html>

Пример события:

class UsersController < ApplicationController
  ...

  def create
     ...
     if @new_user
       logGAEvent('user', 'signup')
     end
  end
end

Почему я хотел бы общаться между наблюдателем и контроллером

В данный момент метод logGAEvent вызывается в контроллерах после определенных примечательных событий (кто-то подписывается, создает новый профиль и т.д.).

Было бы гораздо более приятным образцом абстрагировать большинство этих событий в наблюдателя. Это приведет в порядок контроллер, а также сделает отслеживание менее случайным. Однако, как только они попадут к наблюдателю, все еще должен быть способ для шаблона, чтобы получить доступ к данным наблюдателя и распечатать его.

Что бы я хотел сделать

Поскольку наблюдатель не должен знать о контроллере, Что я хотел бы сделать, это записать эти события в одноразовый буфер, чтобы они были сброшены в конце каждого вызова, но они также доступны контроллеру для записи в документ:

class UserObserver < ActiveRecord::Observer
  after_create user
    # I have no idea what would constitue request.buffer but this is
    # the pattern I'm looking for
    request.buffer.ga_events << createGAEvent('user', 'create')
  end
end
end

application.html.erb (с помощью буфера)

Application.html.erb

<html>
  <head>
    ...
    <script type="text/javascript">
    <%= print_ga_events_js(request.buffer.ga_events) %>
    </script>

  </head>
  ...
</html>

Возможно ли это в некоторых путях? Мне это не кажется неразумным образцом, и это сделает приложение намного чище.

6
задан Peter Nixey 17 September 2011 в 11:14
поделиться