Skip to main content

Ruby on Rails pagination using Kaminari Gem



Kaminari gem is used to create pagination in Ruby on Rails application.
   
      Step 1: Open the terminal and Create the new application

       >  rails new simplepage

      Step 2: After you create the blog application, switch to its folder:
     
       > cd simplepage

     
      Step 3: Open and Add it to your Gemfile to following line
   
        gem 'kaminari'

   
      Step 4: Run the bundle install.It's used to install the gem dependencies that are  already mentioned in Gemfile
       
       > bundle install

     
      Step 5: create the form using scaffolding. Rails scaffolding is a quick way to generate some of the major pieces of an application.(Create, Edit, Delete, Update, Show)
   
       > rails g scaffold student name:string mobile:string city:string

    
      Step 6: Run the migration command.It's used to create the STUDENT table in database.
   
       > rake db:migrate

   
      Step 7: Open and add the following lines to routes.rb file (Location: simplepage/config/routes.rb)
  
        root 'students#index'

      
      # students => controller
      # index => function
   
      Step 8: Open and edit the students_controller.rb (Location: simplepage/app/controllers/students_controller.rb)
   
       def index
         @students = Student.all
       end
   
     changed to
   
       def index
         @students = Student.all.page(params[:page]).per(3)
       end
   
     # per(3) => It's indicates the per page three rows only .
   
      Step 9: Open and add following lines to index.html.erb (Location: simplepage/app/views/students/index.html.erb)
   
       <%= paginate @students %>  

       Like this

       <tbody>

         <%= paginate @students %>

         <% @students.each do |student| %>

           <tr>

              <td><%= student.name %></td>

              <td><%= student.mobile %></td>

              <td><%= student.city %></td>

              <td><%= link_to 'Show', student %></td>

              <td><%= link_to 'Edit', edit_student_path(student) %></td>

              <td>

                <%= link_to 'Destroy', student, method: :delete,

                data: { confirm: 'Are you sure?' } %></td>

           </tr>

         <% end %>

       </tbody>
   
      Step 10: Run the web Server
   
       > rails server
 
      Step 11 : Open a browser window and navigate to http://localhost:3000

Comments

Post a Comment

Popular posts from this blog

PG::DuplicateTable: ERROR: relation "taggings" already exists in Ruby on Rails

Error: PG::DuplicateTable: ERROR:  relation "taggings" already exists Solution : Already the table present in your database.But migration also trying to create a table in database.For this reason error occurred. So try to remove the table (taggings) from your database.   postgresql :     > DROP TABLE IF EXISTS taggings;   Rails console :     > ActiveRecord::Migration.drop_table(:taggings)

Simple Pagination in Ruby on Rails using will_paginate gem Tutorials

You should use the will_paginate gem for pagination. Steps : 1. Create new project    Develop > rails new addpagination 2. Open the gemfile inside the project folder (addpagination).Add below line in gemfile    gem 'will_paginate', '~> 3.0' 3. Enter below command in terminal and execute.    Develop > bundle install 4. Create the Database    Develop > rake db:create    5. Create the form using scaffolding    Develop > rails g scaffold post name:string city:string    6. Migrate the table    Develop > rake db:migrate    7. Now run the application    Develop > rails s   8. Check the application.Its working or not.    open browser and enter http://localhost:3000/    9. Configure the page redirection in routes.rb inside the config folder      root 'posts#index' 10. Now add t...

How to get a YouTube video thumbnail dynamically from the YouTube API using AngularJS

In this tutorial I have explain about the get YouTube thumbnail using AngularJS <html ng-app id="YoutubeApp">   <head>     <title>       How to get a YouTube video thumbnail dynamically from the YouTube API using  AngularJS Tutorials</title>     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js"></script>     <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>     <script>       function YoutubeController ($scope) {         $scope.todos = [];         $scope. addVideo = function() {           $scope.todos.push({text:$scope.todoText, done:false});           $scope.todoText = '';  ...