How to update feed using ajax in Rails 4.0 -


i trying create ajax functionality sample app of michael heart book . created feed model controller micropost in hear book . trying use ajax post feed method . getting error . attaching code below take , me .

#feeds_controller.erb class feedscontroller < applicationcontroller      before_action :authenticate_user! ,only: [:create, :destroy]      def create         @feed = current_user.feeds.build(feed_params)         if @feed.save             flash[:success] = "micropost created!"             #redirect_to root_url             respond_to |format|              format.html { redirect_to root_url }             format.js         else           @feed_items = []           render 'static_pages/home'         end     end      def destroy     end      private           def feed_params              params.require(:feed).permit(:content)          end 

end

and home page rendering partials here code :

#static_pages/home.html.erb  <% if user_signed_in? %>     <div class="row">         <aside class="col-md-4">             <section class="user_info">                 <%= render 'shared/user_info' %>             </section>             <section class="stats">                 <%= render 'shared/stats' %>             </section>         </aside>         <div class="col-md-8">             <h3>micropost feed</h3>             <section class="micropost_form">                 <%= render 'shared/feed_form' %>             </section>             <%= render 'shared/feed' %>         </div>     </div> <% else %>  <% end %> 

here 2 codes work when trying add ajax error :

 rendered shared/_feed.html.erb (3.1ms)  rendered feeds/create.js.erb (6.0ms)  completed 500 internal server error in 73ms (activerecord: 44.4ms)   nomethoderror (undefined method `any?' nil:nilclass):  app/views/shared/_feed.html.erb:1:in `_app_views_shared__feed_html_erb___516512175__638262078'               app/views/feeds/create.js.erb:1:in `_app_views_feeds_create_js_erb___967625174__637838198'               app/controllers/feeds_controller.rb:9:in `create' 

to execute ajax on create method added these files unders feeds views file name create.js.erb

$("#feed_add").html("<%= escape_javascript(render partial: "shared/feed") %>"); 

and form file under shared view file name _feed_form.html.erb

<%= form_for(@feed,:remote  => true) |f|  %>      <div id="feed_add">         <%= f.text_area :content, placeholder: "compose new            feed..." %>     </div>     <%= f.submit "post", class: "btn btn-primary" %> <% end %>   #_feed.html.erb  <% if @feed_items.any? %>     <ol class="microposts">     <%= render @feed_items %>     </ol>     <%= will_paginate @feed_items %> <% end %> 

so tell me how can add feed , without refreshing how can show feed using partial in code .

here need render 1 thing feed in micheal heart book add line of code inside create ajax file here code :

 $(".microposts").prepend('<%= j render  @feed %>'); 

here can result want .


Comments