我有一個待辦事項類型的應用程序,在他們的任務中有p id =「task _」+ <%= task.id%> 子任務。我有一個創建在我的項目的每個展示頁面都有一個新的子任務。使用ajax在rails中刷新div
要理解這一點這裏要說的是,我使用
其項目
<% provide(:title,'ToDoProject') %>
<div class="container-fluid">
<div class="row-fluid">
<div class="user span9 default-skin">
<ul class="myul">
<% if @project.tasks.any? %>
<%=render :partial=> @project %>
<%end%>
</ul>
</div>
<div class="span3" id="rightcolumn">
<p><%[email protected] %></p>
<p><%=link_to 'Add Task',new_project_task_path(@project) %></p>
</div>
</div>
這裏的show.html.erb代碼部分項目
<% project.tasks.each do |task| %>
<%=render :partial=>task %>
<%end%>
然後他們是部分任務
<div class="span5 tasks" id='tasks_<%=task.id %>'>
<div class="addtaskdiv" id="addtaskdiv_<%=task.id %>">
<p><b><%=task.taskname %></b>
<%=link_to 'edit name',edit_task_path(task) %></p>
<% task.subtasks.each do |subtask| %>
<%=render :partial=>subtask %>
<!--
<p class="subtask" data-toggle="modal" data-target="#myModal"><%=subtask.name %>
<a data-id='<%=subtask.id %>' href="#" style="float:right;"><i class="fa fa-pencil-square-o"></i></a></p-->
<%end%>
<%=render 'layouts/modal' %>
</div>
<div class="subtaskform" id="subtask_form_<%=task.id %>" style="width:218px;margin:0 2px 0px 3px;">
<%= form_for [task, task.subtasks.build],:remote => true do |f| %>
<%= f.text_area :name,rows:'3',cols:'3'%>
<%= f.submit "save",class:'btn btn-success' %>
<a data-id='<%=task.id %>' href="#"><i class="fa fa-times fa-lg"></i></a>
<% end %>
</div>
<p class="addcard" id="addcard_<%=task.id%>"><a href="#" data-id='<%= task.id %>' id='add_card_<%= task.id %>'>Add a card...</a></p>
</div>
最後這裏是局部的子任務
<div class="dropdown">
<a data-id='<%=subtask.id %>' href="#" style="float:right;" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-pencil-square-o" style="margin-right:10px;margin-top:10px;"></i></a>
<p class="subtask" data-toggle="modal" data-target="#myModal"><%=subtask.name %></p>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div>
這裏是我的子任務控制器創建方法
def create
@task=Task.find(params[:task_id])
@[email protected]
@[email protected](params[:subtask])
respond_to do |format|
if @subtask.save
format.html{redirect_to @project}
format.js
flash[:success]="Task created successfully"
else
render new
end
end
end
這裏是爲Ajax調用的create.js.erb文件
$('#adddtaskdiv_'+ <%[email protected] %>).append('<%= escape_javascript(render :partial=>@subtask) %>');
我想,當我創建一個子任務應該得到仁德紅色沒有刷新我的頁面。但不知何故它不在這裏工作。我看到它看起來正確的日誌,但瀏覽器上沒有任何東西似乎工作。
這裏是軌道的控制檯日誌後我點擊保存子任務
這是對UI現在
你提到它看起來還好在日誌中 - 這是Rails的日誌和JavaScript控制檯的日誌? –
它的軌道記錄,我什麼地方認爲這個問題與Liew在阿賈克斯 –
渲染子任務可以璧我錯誤地渲染子任務,DER [R這麼多的任務和子任務,它得到一個可愛的小此刻 –