Перенаправление к 500 страницам, когда вызов Ajax перестал работать в Ruby on Rails

выполняет итерацию по всей таблице

for (int i = 0; i < rowCount; i++)
   {
     Android.Widget.TableRow row = (Android.Widget.TableRow)tableLayout.GetChildAt(i);
     for (int j = 0; j < columnCount; j++)
        {
          TextView cell = (TextView) row.GetChildAt(j);
          var value = cell.Text;
        }
   }

получает любое конкретное значение ячейки

, например. получить значение ячейки (1,2)

Android.Widget.TableRow row = (Android.Widget.TableRow)tableLayout.GetChildAt(1);
TextView cell = (TextView) row.GetChildAt(2);
var value = cell.Text;
6
задан Kyle Boon 6 March 2009 в 19:24
поделиться

3 ответа

Можно использовать respond_to в rescue_action контроллера или rescue_action_in_public методе. Рассмотрите следующий контроллер:

class DefaultController < ApplicationController

  def index
    raise "FAIL"
  end

  def rescue_action(exception)
    respond_to do |format|
      format.html { render :text => "Rescued HTML" }
      format.js { render :action => "errors" }
    end
  end
end
3
ответ дан 17 December 2019 в 00:15
поделиться

Это было моим конечным решением:

def rescue_action_in_public(exception)
  response_code = response_code_for_rescue(exception)
  status = interpret_status(response_code)
  respond_to do |format|
    format.html { render_optional_error_file response_code}
    format.js { render :update, :status => status  do |page| page.redirect_to(:url => error_page_url(status)) end}
  end
end

Это в основном вперед к корректной статической странице HTML, неважно, если запрос был через Ajax или нормален, ДОБИРАЕТСЯ/POST.

Это НЕ используется для нормальной обработки ошибок как проверка и т.д. Это только используется, когда что-то действительно плохо происходит - как необработанное исключение.

1
ответ дан 17 December 2019 в 00:15
поделиться

Я решил подобную проблему с авторизацией. Я создал простой контроллер авторизации с этим действием:

  def unauthorizedxhr
    render :update do |page|
      page.replace_html("notice", :partial=>"unauthorizedxhr")
      page.show("notice")       
    end
  end

Вот шаблон:

<% if flash[:notice] -%>
    <div id="noticexhr"><%= flash[:notice] %></div>
<% end -%>

Когда авторизация перестала работать в контроллере, я перенаправил бы к: контроллер => "авторизация": действие => "unauthorizedxhr" после установки флэш-памяти [: заметьте] значение. Это позволило мне настраивать сообщение, которое я отправил пользователю, и оно обработало дисплей сообщения посредством рендеринга: обновите код выше.

Вы могли адаптировать это к своей проблеме путем создания ошибочного контроллера, фиксации любых повышенных ошибок в других контроллерах, затем просто перенаправления к: контроллер => "ошибки": действие => "displayxhr", когда вызов перестал работать. Тем путем Вы стандартизируете свой ошибочный механизм связи, но позволите себе способность настроить сообщения об ошибках каждым действием.

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

Надежда, которая помогает. - Chris

3
ответ дан 17 December 2019 в 00:15
поделиться
Другие вопросы по тегам:

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