我有一个名为whatsup的表,还有用户,它的实现方式是whatsup属于用户, 我已经让用户可以通过这样的ajax创建whatsup了
$("#chat").append("<%= j render(@whatsup) %>");
$("#new_whatsup")[0].reset();
并且我显示了像这样
的形式创建的whatsups<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')
这意味着应该一次显示一个whatsup
我想要的是,部分@whatsups应该立即重新加载表单提交而不重新加载整个页面,即重新加载该div,以便创建新的whatsups将自动显示。
答案 0 :(得分:0)
我认为你应该在你的创建动作中添加一个js响应,如下所示:
在WhatsupsController中#create do:
respond_to do |format|
format.js
end
然后创建视图文件views / whatsups / create.js.erb。在那里,您可以创建一个JavaScript,在创建完成后将在页面上执行。这样的事情:
$("#chat").append("<%= j render(@whatsup) %>");