Форма Rails 3, отображаемая в ajax, смешивает html со значениями text_fields - PullRequest
0 голосов
/ 25 июня 2011

Я рендерил форму с помощью ajax следующим образом:

$('#details').html("<%== escape_javascript(render ('form')) %>");

Благодаря d11wtq!Теперь проблема в том, что эта форма визуализируется с использованием некоторого HTML в виде текста!хотя все значения в text-feild и text-area являются правильными.

Это форма

<%= form_for @note, :remote => true, :html => { :'data-type' => 'html', :id => 'new-note-form' }  do |f| %>
 <% if @note.errors.any? %>
 <div id="error_explanation">
  <h2><%= pluralize(@note.errors.count, "error") %> prohibited this note from being saved:</h2>
  <ul>
  <% @note.errors.full_messages.each do |msg| %>
    <li><%= msg %></li>
  <% end %>
  </ul>
</div>
<% end %>
<%= f.hidden_field :wine_id, :value=>@note.wine.id %>
<%= @note.wine.name %>
<div class="field">
 <%= f.label :rating %> <br />
 <%= f.text_field :rating %> </div>
<div class="field">
 <%= f.label :text %> <br />
 <%= f.text_area :text,:size => "60x12" %>
</div>
<div class="actions">
<%= f.submit %>
 </div>
<% end %>

Поэтому, когда эта форма отображается, после блока <% = @note.wine.name%> Comes Red Wine div> распечатано.В текстовое поле приходит значение и немного HTML в нем.И то же самое в текстовой области.Вставленный HTML-код всегда является некоторым, так что это не случайно.Спасибо за ваше время и вашу помощь:)

1 Ответ

0 голосов
/ 26 июня 2011
$('#details').html("<%= raw escape_javascript(render ('form')) %>")

убедитесь, что raw передан, потому что в некоторых новых версиях rails в настоящее время возникают проблемы с выходом из сценариев Java и HTML.Также убедитесь, что ваш селектор на месте.И получите ответ на js formart в вашем контроллере и шаблон js.erb в вашем представлении.

...