Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在RubyonRails应用程序上使用AJAX提交表单后,如何让jQuery更新页面上的元素?_Jquery_Ruby On Rails_Ajax_Forms - Fatal编程技术网

在RubyonRails应用程序上使用AJAX提交表单后,如何让jQuery更新页面上的元素?

在RubyonRails应用程序上使用AJAX提交表单后,如何让jQuery更新页面上的元素?,jquery,ruby-on-rails,ajax,forms,Jquery,Ruby On Rails,Ajax,Forms,我正在尝试使用jQuery和Rails以及AJAX来接受来自用户的帖子,并更新页面上的相关元素以显示新帖子 我已经成功地在我的应用程序中设置了一个post模型和控制器,并对其进行了调整,使其能够使用AJAX接受表单提交。我知道AJAX表单提交工作正常,但我无法重新加载页面上的任何元素。我有一个Post模型,Posts controller,一个包含用于发布的html表单的_Post_form.html.erb partial,以及相关的create.js.erb文件 create.js.erb文

我正在尝试使用jQuery和Rails以及AJAX来接受来自用户的帖子,并更新页面上的相关元素以显示新帖子

我已经成功地在我的应用程序中设置了一个post模型和控制器,并对其进行了调整,使其能够使用AJAX接受表单提交。我知道AJAX表单提交工作正常,但我无法重新加载页面上的任何元素。我有一个Post模型,Posts controller,一个包含用于发布的html表单的_Post_form.html.erb partial,以及相关的create.js.erb文件

create.js.erb文件当前包含(此处不包含what_to_put_):

当它只包含警报时,该文件工作,并出现一个显示消息的对话框。所以,我确信一切都是有效的。然而,我就是不知道该用什么代码来更新user_info元素和posts表。我正在使用jQuery和jQuery UI来编写Java脚本

那么,如何在create.js.erb文件中编写更新posts表和user_info current_user.posts.count的方法呢

以下是show.html.erb文件:

 <section>
 <%= render 'shared/discussion_overview' %>
 <% unless @posts.nil? %>
 <h3> Thoughts and Opinions </h3>
 <table class= "posts">
         <%= render @posts %>
 </table>
 <%= will_paginate(@posts) %>
 <% end %>
 <%= render 'posts/post_form' %>
 </section>

想法和意见
帖子部分_post.html.erb:

 <tr>
<td >
    <span class="post_header"><h4><%= link_to "#{post.user.first_name} #{post.user.last_name}", post.user %></h4></span>
    <p> <%= post.content %> </p>
</td>
 </tr>

和_user_info.html.erb partial(从application.html.erb引用):




五年前加入的。
$(“#用户信息”).html(“用户信息”)%>;

感谢您的回复。我尝试了这段代码,但它没有更新user\u info元素。将其添加到create.js.erb也会导致显示ajax消息“ajax works”。有什么想法吗?
 <tr>
<td >
    <span class="post_header"><h4><%= link_to "#{post.user.first_name} #{post.user.last_name}", post.user %></h4></span>
    <p> <%= post.content %> </p>
</td>
 </tr>
 <div id="user_info">
<h1><a href = "<%= user_path(current_user) %>" >
<%= "#{current_user.first_name} #{current_user.last_name}" %>
</a></h1>
<%= pluralize(current_user.posts.count, "post") %> <br>
<%= pluralize(current_user.discussions.count, "discussion")%> <br>

Joined <%= time_ago_in_words(current_user.created_at)%> ago.
 </div>
$('#user_info').html("<%= escape_javascript(render :partial => 'user_info')%>");