Удаленная форма Rails 3, не передающая параметры - PullRequest
1 голос
/ 07 января 2011

У меня есть форма в Rails 3.0.3, которая использует новую функцию: remote => true:

<%= form_for :photo, :remote=>true, :html=>{:id=>"photo_form", :multipart => true},     :url=>{:action=>"photo"} do |p| %>
<div id="photo_container">
    <div class="photo">
    <% if @card.photo.exists? %>
    <%= image_tag @card.photo.url(:full), :id=>"card_photo" %>  
    <% end %>
    </div>
    <label class="cabinet"> 
        <%= p.file_field :photo, :class=>"file" %>
    </label>
</div>
<% end %>

После отправки поле фотографии не передается действию контроллера.Однако, если я удаляю бит: remote => true, параметр передается просто отлично.

Этот вопрос, Удаленная форма Rails не публикует параметры формы , похоже, находит ту же проблему, но ответ здесь не совпадает: мой HTML, по-видимому, корректен и правильно сформирован.

У кого-нибудь есть совет?Я в тупике.

1 Ответ

2 голосов
/ 07 января 2011

Насколько я знаю, вы не можете отправлять данные из нескольких частей удаленно.Это связано с тем, что модель безопасности браузера не разрешает доступ к контенту <file>, который потребуется для потоковой передачи через XMLHttpRequest, как это используется удаленным механизмом.

Удаленная форма обычно эквивалентната же форма без поддержки нескольких частей.

Если вам необходимо выполнить асинхронную загрузку файла, вам нужно будет использовать <iframe> и отправить форму этой цели, чтобы предотвратить обновление главной страницы.Существуют библиотеки, позволяющие странице в рамке обновлять мастер-кадр по завершении при необходимости.

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