I am trying to create an ajax functionality for a sample app of michael heart book . I created a feed model controller which is micropost in hear book . I am trying to use ajax like post feed method . But I am getting some error . I am attaching my code below take a look and help me .
feeds_controller.erbclass 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 do |format| format.html { redirect_to root_url } format.js end else @feed_items = [] render 'static_pages/home' end end def destroy end private def feed_params params.require(:feed).permit(:content) end end And my home page is rendering some partials Here is the 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 are two codes Everything work perfectly but when I am trying to add ajax I get the error which is : 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?' for 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 I added these files unders feeds views file name is create.js.erb $("#feed_add").html("<%= escape_javascript(render partial: "shared/feed") %>"); And form file is under shared view file with name _feed_form.html.erb <%= form_for(@feed,:remote => true) do |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 I add feed and without refreshing how can I show feed using partial In this code -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-talk@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/4514f6d1-51c9-4bfa-ae54-1e42bed5f95d%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.