2014-01-15 6 views
1

Ниже приведен код для осуществления длительного опроса.длительная реализация опроса по каждому запросу контроллеру

class ApplicationController < ActionController::Base 
    # Prevent CSRF attacks by raising an exception. 
    # For APIs, you may want to use :null_session instead. 
    protect_from_forgery with: :exception 
    cattr_accessor :acArray 
end 

ApplicationController.acArray = [] 

class HelloController < ApplicationController 
    def initialize 
    ApplicationController.acArray << self 
    end 

    def index 
    ApplicationController.acArray.each_with_index {|val, index| 
     if index == 1 # only on second request serve the first request, until then hold the object in memory 
      val.render :text => ApplicationController.acArray.length 
     end 
    } 
    end 
end 

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

Шаблон отсутствующего недостающее шаблон привет/индекс, приложение/индекс с {: локали => [: EN],: форматы = > [: html],: handlers => [: erb,: builder,: raw,: ruby,: jbuilder,: coffee]}. Искал в: * «/ главная/MYHOME/TMP/чат/приложение/просмотров»

Как задержать визуализацию и не позволяют искать рельсы для файла вида и не возвращать статус отказа

ответ

0

Может быть, это будет работать :

until ApplicationController.acArray.length > 1 do |process| 
    end 
    ApplicationController.acArray.each_with_index{|val, index| 
     if index == 1 
      val.render :text => ApplicationController.acArray.length 
     end 
    } 
` 
+0

Возвращает ту же ошибку. Без изменений –

+0

Просто интересно, попробовали ли вы напечатать значение длины acArray непосредственно перед возникновением ошибки? – rboling

+0

Я разместил ** p ApplicationController.acArray.length ** до ** next ** в блоке else, который печатает 1 перед ошибкой –

Смежные вопросы