Rails 应用开发笔记(三)

只要是web应用的开发,分页的功能都是必不可少的,Rails 强大的社区生态环境诞生了丰富多样的 gem package, 大大提高了 web 应用的生产效率。有很多的 gem package 提供了分页的功能,今天要介绍的是其中最为强大的一种: kaminari。

github link: kaminari

Kaminari 是一个强大的,可定制化的分页引擎,支持多种 ORM(ActiveRecord, mongoid),多种 web 框架(Rails, Sinatra,Grape),以及多种模版引擎(ERB, Haml, Slim).

####安装

在 Gemfile 中添加以下代码:

gem 'kaminari'

然后运行 bundle 安装。

####使用

以用户的文章分页来试验如何通过kaminari来实现分页功能

  1. 在model中配置分页数量, paginates_per表示每一页的文章数量
  class Article
    ...
    paginates_per 5
  end
  1. 在 Article的控制层中接收分页参数 params[:page]
  def index
    @user = User.find(params[:user_id])
    @articles = @user.articles.page params[:page]
  end
  1. 在视图层添加paginate helper方法
  <%= paginate @articles %>

一个简单的分页功能就实现了,是不是超级简单呢?

2019

代码整洁之道——程序员的职业素养

少于 1 分钟读完

很难想象我在读这本书的时候是除夕的晚上,早晨在公司的书架上无疑翻到这本书,读了几个章节就被深深的吸引住了, 吸引我的并不是我很迫切的需要提高自己的职业素养,而是发现作者描述的场景和自己碰到的情况何其的相似,在某些 情况下甚至是直击内心的。在家人都休息的时候,我在深夜一点钟看完了这本书,而且我觉得有必要做一下笔记,...

解决 nginx 错误:413 Request Entity Too Large

1 分钟读完

最近项目上遇到一个问题,某个 http 请求会返回 413 的状态码,一般来讲,这个问题是很好解决的, 网上有非常多的解决方案,但是我依然花了很长的时间找到问题根源,所以我觉得可以把这个过程记录下来。

Back to Top ↑

2018

Back to Top ↑

2017

Back to Top ↑

2016

Back to Top ↑

2015

Back to Top ↑

2014

Back to Top ↑