在我的 rails 3 应用程序中实现 Ajax 请求是我做过的最令人沮丧的事情之一。在浪费了几天尝试在线遵循人们的指示之后,似乎对我有用的唯一方法是 ajax 删除。
我网站的用户有一个个人资料页面,其中包含顶部的一些信息,然后他们有几个不同的简历,每个简历都包含在页面上的一个选项卡中。每份简历中都有教育,这是我希望能够动态添加和更新的内容。即用户有_many简历,每份简历有_many教育。我将每个简历呈现在一个 id 等于它的 id 的 div 中。这是我希望在提交表单时使用 ajax 重新加载的 div。这是一个小代码。
用户/节目:
...
<%= render partial: 'shared/resume' %>
...
共享/恢复:
<% if @resumes.any? %>
<div class="tab-content" id="tabResumes">
<%= render partial: 'shared/resume_item', collection: @resumes %>
</div>
<%= will_paginate @resumes %>
<% end %>
共享/resume_item:
<div class="tab-pane" id="<%= resume_item.id %>">
...
# here I render a few different partials which display the different elements of the resume, such as educations.
# I'd like to reload this area on form submission.
...
</div>
教育控制器:
def create
@resume = Resume.find(params[:resume_id])
@education = @resume.educations.build(params[:education])
respond_to do |format|
if @education.save
format.html { redirect_to(@student, :notice => 'Education created.') }
format.js
else
format.html {render :action => "new" }
format.js
end
end
end
意见/教育/create.js.erb
$('#<%=@resume.id%>').html("<%= escape_javascript()%>"); //not sure what to call here, nothing I've tried has given me any success.
我也想让更新刷新同一个 div,但我想先让 create 工作。有人对如何使这项工作有任何建议吗?正如我得到的那样,ajax 提交似乎正在通过
Rendered educations/create.js.erb
Completed 200 OK in 52ms
在控制台中。