rails page.replace_html вызывает всплывающее окно загрузки файла - PullRequest
0 голосов
/ 15 августа 2010

Я намереваюсь использовать следующий код для замены частичной веб-страницы, называемой «страница активности», но вместо этого у меня появилось окно загрузки файла с сообщением «Хотите сохранить файл или найти программу для открытия». Зачем? Спасибо,

render :update do |page|
    page.replace_html ('activitypage', :partial => 'index')
  end
  return

EDIT:

Ноэль, Спасибо за ваш ответ. Вот вся картина, я надеюсь.

На странице клиента есть кнопка отправки, как это определено,

 <div class="form_row">
<% form_remote_tag :url => {:controller => '/group', :action => 'add'},
:html => {:action => {:controller => '/group', :action => 'add'}} do %>
<%= submit_tag "Add!", :class => "submit" %>

<% end%>

В функции Add группы контроллеров у меня есть код,

def add //add the member into the group table //then go back to the /group/index page //which will replace the content in webPage "activitypage" render :update do |page| page.replace_html ('activitypage', :partial => 'index') end return end

В серверной части контроллер: действие (здесь / группа / добавление) работало, как и ожидалось, но в клиентском браузере было открыто окно загрузки файла для сохранения или открытия файла?

Я в замешательстве! ??????

1 Ответ

0 голосов
/ 15 августа 2010

Как ты это называешь?Это может быть проблемой в коде на стороне клиента.Если он вызывается Ajax.request, вам может потребоваться установить для параметра evalJS значение true.

В качестве альтернативы попробуйте: content_type => 'text / javascript' в вызове page.replace_html.

edit --->

Просто просматривал документы для remote_form_for, и я думаю, что вы можете добиться некоторого успеха, приняв немного другой подход.

Если ваш контроллер делает прямое

render :partial => 'index'

, и вы добавляете следующую опцию к тегу удаленной формы

:update => "activitypage"

Но это на самом деле не отвечает на ваш первоначальный вопрос.Я бы рекомендовал хорошо посмотреть заголовок ответа, используя WireShark или плагин Tamper Data для FireFox (не уверен, показывает ли Tamper Data ответы на ajax-запросы или нет).Вероятно, что-то не так с заголовками content_type или disposition.Это может иметь какое-то отношение к конфигурации вашего сервера.

(я ненавижу подобные проблемы, когда он должен "просто работать".)

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