Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用UJS呈现分部时HTML格式不正确_Jquery_Ruby On Rails_Ujs - Fatal编程技术网

Jquery 使用UJS呈现分部时HTML格式不正确

Jquery 使用UJS呈现分部时HTML格式不正确,jquery,ruby-on-rails,ujs,Jquery,Ruby On Rails,Ujs,我在一个页面中有一个ajax调用,它在控制器中创建一个目标对象,然后呈现_create.js.erb: $("form#edit_goal_<%= @last_goal.id%>").after('<%= escape_javascript(render(:partial => "show_new_goal", :locals => {:g => @goal, :user => @goal.user, :can_admin_athlete => t

我在一个页面中有一个ajax调用,它在控制器中创建一个目标对象,然后呈现_create.js.erb:

$("form#edit_goal_<%= @last_goal.id%>").after('<%= escape_javascript(render(:partial => "show_new_goal", :locals => {:g => @goal, :user => @goal.user, :can_admin_athlete => true})).html_safe %>');
$('form#edit_goal')。在('show_new_goal',:locals=>{:g=>@goal,:user=>@goal.user,:can_admin_atternate=>true})之后。html_safe%>;
以下是_show_new_goal.html.erb部分:

<%= form_for( g, :url => user_goal_path(user, g), :method => :put, :remote => true) do |f| %>
  <div id="row_<%=g.id%>"><%= f.check_box(:is_complete)%>&nbsp;<%= g.name%></div>
<% end %>
user\u goal\u path(user,g),:method=>:put,:remote=>true)do | f |%>
此分部呈现的HTML已损坏:

(note the closing div> and form> tags that should be </div> and </form>):

<form accept-charset=UTF-8 action=/users/1/goals/11 class=edit_goal data-remote=true id=edit_goal_11 method=post>
  <div style=margin:0;padding:0;display:inline>
    <input name=utf8 type=hidden value=&#x2713; />
    <input name=_method type=hidden value=put />
    <input name=authenticity_token type=hidden value=blahblah />
  div>
  <div id=row_11>
    <input name=goal[is_complete] type=hidden value=0 />
    <input id=goal_is_complete name=goal[is_complete] type=checkbox value=1 />
    &nbsp;Goal name
  div>
form>
(注意应该是和的结束div>和form>标记):
div>
目标名称
div>
表格>
编辑1 当我不使用分部包含_show_new_goal.html.erb分部来呈现表单时,将返回格式良好的html。即,返回格式良好的HTML:

$("form#edit_goal_<%= @last_goal.id%>").after('<%= form_for( @goal, :url => user_goal_path(@goal.user, @goal), :method => :put, :remote => true) do |f| %><div id="row_<%=@goal.id%>"><%= f.check_box(:is_complete)%>&nbsp;<%= @goal.name%></div><% end %>');
$(“form#edit(u goal)”).after('user(u goal)path(@goal.user,@goal),:method=>:put,:remote=>true)do | f |%>);
返回的HTML:

<form accept-charset="UTF-8" action="/users/1/goals/3" class="edit_goal" data-remote="true" id="edit_goal_3" method="post">
  <div style="margin:0;padding:0;display:inline">
    <input name="utf8" type="hidden" value="&#x2713;" />
    <input name="_method" type="hidden" value="put" />
    <input name="authenticity_token" type="hidden" value="blahblah" />
  </div>
  <div id="row_3">
    <input name="goal[is_complete]" type="hidden" value="0" />
    <input id="goal_is_complete" name="goal[is_complete]" type="checkbox" value="1" />&nbsp;My goal
  </div>
</form>

我的目标

html就是要呈现的内容(使用Firebug抓取它)。是的,也没有引号。很确定是服务器。Firebug将上面的HTML显示为来自帖子的响应。另外,当我不使用部分时,格式良好的HTML会被呈现。将更新帖子以反映这一点。