因为 Kaminari 使用的必须是 ActiveRecord 对象,一开始报了个错,半天搞不懂,回头自己重新查询了一下资料,其实官方的 Github 上就已经写好了。

把代码贴出来一下其实挺简单的:

def index
user_name
= params[:user_name]
tempSQL = "select o.*,u.user_name,u.nick_name,u.phone,f.title from
orders o, users u, flies f where o.user_id = u.id and o.goods_id = f.id"
if
!user_name.nil?
puts 'run here'
tempSQL += " and u.user_name = '#{user_name}'"
end
@orders
= Kaminari.paginate_array(Order.find_by_sql(tempSQL)).page(params[:page])
end

Kaminari.paginate_array 中已经就能够完成转换功能了,大家继续,玩得开心哦。

花了整整一天半来搞定环境部署。如果要部署RoR环境我强烈建议新手使用Ubuntu来部署。确实能够省掉很多问题。

详情可以参考这个链接:

http://www.yangzhiping.com/tech/ubuntu-ree-nginx-passenger-rails3.blog.html

在部署的过程中一直都很顺利,但是有几个点需要特别说明。

  1. 如果环境是使用 RVM 搭建的,那么请不要使用 ROOT 登录搭建,原因在于使用 ROOT 安装时RUBY 的环境会存在于 ROOT 根目录中而使用 passenger 的时候会由于权限不足,无法访问 ROOT 目录中的环境导致环境部署失败。
  2. 如果 gem 中存在 github 的地址,例如:
    gem 'mini_magick', :git => 'git://github.com/minimagick/minimagick.git'
    在安装 gem 的时候需要?Try?running?bundle?install?--deployment
  3. mysql2 的使用在 windows7 中是存在问题的。但是mysql2的性能要大大由于第一版的驱动程序。安装步骤如下:
    • 下载驱动程序:http://cdn.mysql.com/Downloads/Connector-C/mysql-connector-c-noinstall-6.0.2-win32.zip
    • 拷贝相关文件到RUBY目录,例子:“lib\libmysql.dll C:\RailsInstaller\Ruby1.9.3\bin”
    • 运行安装命令:gem install mysql2 — 『–with-mysql-lib=」D:/mysql-connector-c-noinstall-6.0.2-win32/lib」 –with-mysql-include=」D:/mysql-connector-c-noinstall-6.0.2-win32/include」

通过群里的朋友介绍,Rails 中的 gem 在 Amazon 服务的相关 gem 包也会存在一些问题。具体没详细请教,不过既然选择了 Rails 作为开发框架,建议切换到 Linux 环境应该会比较舒服。

2014.3.20 日更新,我建议大家不要使用我文章中写的内容。因为各个版本的服务器有可能安装上有一些区别。自己本人安装了几个环境。各种坑爹,为此我还特意请教了刘辉哥。大哥很慷慨的发送了一个详细教程。本人也共享给大家。强烈建议参考连接中的安装步骤,省掉不必要的麻烦。

如何快速正确的安装 Ruby, Rails 运行环境在 Ubuntu 12.04 Server 上安装部署 Ruby on Rails 应用

经过一个上午的折腾,终于把ROR环境在CentOS中搞定,绕了很多弯路,把文章写下来总结一下。

安装步骤:

  1. 更新Python
    centos 中默认安装的python是2.4的版本,因为新版的rails需要提供nodejs的相关支持,需要更新python,更新文章可以直接移步到这个链接?http://www.tomtalk.net/wiki/Python
  2. 安装相关的依赖包
    #yum install gcc gcc-c++ openssl* readline* ncurses* zlib* libxml* libjpeg* libpng* libxslt* libtool*
  3. 安装 NodeJS
    wget http://nodejs.org/dist/v0.8.5/node-v0.8.5.tar.gz
    tar zvxf node-v0.8.5.tar.gz
    cd node-v0.8.5
    ./configure
    make && make install
  4. 建议先安装 YAML 否则可能会引起 gem 安装的一个异常,具体可见:http://collectiveidea.com/blog/archives/2011/10/31/install-ruby-193-with-libyaml-on-centos/

     wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
     tar xzvf yaml-0.1.4.tar.gz
     cd yaml-0.1.4
     ./configure --prefix=/usr/local
     make
     make install
  5. 安装 Ruby 1.9.3
    wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz
    tar xzvf ruby-1.9.3-p0.tar.gz
    cd ruby-1.9.3-p0
    ./configure --prefix=/usr/local --enable-shared --disable-install-doc --with-opt-dir=/usr/local/lib
    make
    make install
  6. 升级 gem 并安装 Rails
    如果gem安装失败,可以通过下载源代码的方式进行安装。

    wget http://rubyforge.org/frs/download.php/74445/rubygems-1.6.2.tgz
    tar zxvf rubygems-1.6.2.tgz
    cd rubygems-1.6.2
    ruby setup.rb

    gem 安装成功则直接执行下一步

    gem update --system
    gem install rdoc
    gem install rails
    rails -v

RAILS 系统界面

晚上睡不着,就着之前学的 RoR 自己谢了一套基本的网站管理系统,关键目的在于练习一下自己的Rails。效果还真的不错,东西写出来还是蛮实在的,真心的迷上了RoR,感谢语言的发明者开发了这么好玩的语言。

Rails 的学习剩余点:

完成了基本的Rails学习之后,剩下来就是关键的几个点了。

  1. 缓存
  2. 测试(集成测试,单元测试等)
  3. 性能调优
  4. 路由,动作设计
  5. ORM调优工作

不管怎么着,今年定的计划,看样子能够提前完成了。很高兴,又多了一门新的技能。