我有一个名为whatsup的表,还有users,它的实现方式是whatsup属于user,我已经让用户可以通过ajax创建像这样的东西
$("#chat").append("<%= j render(@whatsup) %>");
$("#new_whatsup")[0].reset();我像这样展示了在表单顶端创建的内容
<ul id="chat">
<%= render @whatsups %>
</ul>
<%= form_for Whatsup.new, remote: true do |f| %>
<%= f.text_field :details%>
<%= f.submit "Send" %>
<% end %>在我的控制器中@whatsups是这样声明的
@whatsups = current_user.whatsups.all(:limit => 1, :order => 'created_at DESC')这意味着应该一次显示一个one。
我想要的是,部分@whatsups应该立即重新加载表单提交,而不是重新加载整个页面,即重新加载该div,以便新创建的whatsups将自动显示。
发布于 2013-07-17 23:59:10
我认为您应该在create操作中添加一个js响应,如下所示:
在WhatsupsController#create中执行以下操作:
respond_to do |format|
format.js
end然后创建视图文件views/whatsups/create.js.erb。在那里,您可以创建一个JavaScript,当创建完成时,它将在页面上执行。大概是这样的:
$("#chat").append("<%= j render(@whatsup) %>");https://stackoverflow.com/questions/17704487
复制相似问题