2010-08-15 2 views
0

Я хочу использовать следующий код для замены частичной веб-страницы с названием «Activitypage», но вместо этого я получил окно filedownload с сообщением «Вы хотите сохранить файл или найти программу для открытия ". Почему? Спасибо,rails page.replace_html вызывает всплывающее окно filedownload

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

EDIT:

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

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

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

<% конец%>

В функции 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

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

Я смущен! ??????

ответ

0

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

Попробуйте также: content_type => 'text/javascript' в вашем вызове page.replace_html.

редактировать --->

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

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

render :partial => 'index' 

и добавить следующий параметр в удаленном виде тега

:update => "activitypage" 

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

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

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