ruby on rails - NoMethodError in MembersController#index undefined method `total_pages' for #<Micropost::ActiveRecord_Associations_CollectionProxy:0x007ffc26104288> -


the error output is:

nomethoderror in memberscontroller#index undefined method `total_pages'  #<micropost::activerecord_associations_collectionproxy:0x007ffc26104288> 

application trace is:

app/views/shared/_feed.html.erb:5:in `_app_views_shared__feed_html_erb__933429040368905157_70360748756160' app/views/members/index.html.erb:4:in `_app_views_members_index_html_erb__2919315027143638402_70360970104820' 

update:

source near error:

        arel.public_send(method, *args, &block)       else         super # marked red       end     end   end 

additional info:

app/views/members/index.html.erb renders 2 partials using controller, microposts_controller. i'll show contents of both controllers , of 2 partials.

# app/views/members/index.html.erb <%= render 'shared/micropost_form', :locals => { :micropost => @micropost }  %> <%= render 'shared/feed', :locals => { :feed_items => @feed_items } %> 

memberscontroller

class memberscontroller < applicationcontroller   def index     @micropost = current_user.microposts.build     @feed_items = current_user.microposts   end end 

micropost_controller.rb

# controllers/micropost_controller.rb  class micropostscontroller < applicationcontroller   before_action :logged_in_user, only: [:create, :destroy]   before_action :correct_user,   only: :destroy    def create     @micropost = current_user.microposts.build(micropost_params)     if @micropost.save       flash[:success] = "micropost created!"       redirect_to '/members'     else       @feed_items = []       render '/members'     end   end    def destroy     @micropost.destroy     flash[:success] = "micropost deleted"     redirect_to request.referrer || '/members'   end    private      def micropost_params       params.require(:micropost).permit(:content, :picture)     end      def correct_user       @micropost = current_user.microposts.find_by(id: params[:id])       redirect_to '/members' if @micropost.nil?     end end 

_micropost_form.html.erb

# shared/_micropost_form.html.erb  <%= form_for(@micropost, html: { multipart: true }) |f| %>   <%= render 'shared/error_messages', object: f.object %>   <div class="field">     <%= f.text_area :content, placeholder: "compose new micropost (420 chars max)..." %>   </div>   <%= f.submit "post", class: "btn btn-primary" %>   <span class="picture">     <%= f.file_field :picture, accept: 'image/jpeg,image/gif,image/png' %>   </span> <% end %>  <script type="text/javascript">   $('#micropost_picture').bind('change', function() {     size_in_megabytes = this.files[0].size/1024/1024;     if (size_in_megabytes > 5) {       alert('maximum file size 5mb. please choose smaller file.');     }   }); </script> 

_feed.html.erb

# shared/_feed.html.erb  <% if @feed_items.any? %>   <ol class="microposts">     <%= render @feed_items %>   </ol>   <%= will_paginate @feed_items %> <% end %> 

you want paginate records using will_paginate in view, didn't paginate them in controller:

def index   @micropost = current_user.microposts.build   @feed_items = current_user.feed.paginate(page: params[:page]) end 

Comments

Popular posts from this blog

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -