在AJAX中呈现的rails 3表单将html与文本字段值混合在一起 [英] Rails 3 form rendered in ajax get html mixed with text_fields values

查看:34
本文介绍了在AJAX中呈现的rails 3表单将html与文本字段值混合在一起的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在通过AJAX呈现一个表单:

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

感谢d11wtq! 现在的问题是,这个表单是用一些html作为文本呈现的!尽管文本字段和文本区域中的所有值都是正确的。

这是表格

<%= 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%>之后是Red Wine div>打印输出。文本字段中包含值和一些html。文本区也是如此。插入的html代码总是一些,所以它不是随机的。 感谢您的时间和帮助:)

推荐答案

$('#details').html("<%= raw escape_javascript(render ('form')) %>")
确保传递RAW,因为一些较新版本的Rails目前在转义Java脚本和html时遇到了问题。还要确保您的选择器已就位。并且在您的控制器中有一个对js Formart的响应,在您的视图中有一个js.erb模板。

这篇关于在AJAX中呈现的rails 3表单将html与文本字段值混合在一起的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆