2013-07-17 59 views
0

我有一个名为whatsup的表,并且还有用户,它以whatsup属于用户的方式实现, 我让用户可以创建whatsups AJAX这样通过javascript提交表单后在rails中更新div部分

$("#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声明如下

@whatsups = current_user.whatsups.all(:limit => 1, :order => 'created_at DESC') 

这意味着一个的WhatsUp应一次显示

我要的是,部分@whatsups应立即重新加载表单提交什么不重新加载整个页面重新加载,即单独div中新whatsups创建将自动显示。

+0

是行'@whatsups = current_user.whatsups.all(:上限=> 1:为了=> 'created_at DESC')从你的'create'行动'? – vee

+0

nope,它在我的用户展示行动 – Kadismile

+0

那种情况下你有'_whatsup.html.erb'吗? – vee

回答

0

我想你应该在你创建动作添加一个js响应,就像这样:

在WhatsupsController#创建办:

respond_to do |format| 
    format.js 
end 

然后创建视图文件视图/ whatsups/create.js。 ERB。您可以在创建完成后创建一个JavaScript页面,该页面将在页面上执行。类似的东西:

$("#chat").append("<%= j render(@whatsup) %>"); 
+0

我已经做已经其writen在问题 – Kadismile

+0

对不起,我以为你只是在表演行动中。 –