Tag Archives: Ruby on Rails

Windows下用VirtualBox搭建Ubuntu环境做Ruby on Rails开发

本文目的是实现在VirtualBox中运行Ubuntu Server来做为Ruby on Rails的环境,然后通过Samba来共享Ubuntu下的文件供Windows编辑,用KiTTY通过SSH来连接Ubuntu Server进行系统常规操作。另外,关于如何在Ubuntu中搭建Ruby On Rails环境,请参考《在Ubuntu Server下搭建Ruby on Rails + MongoDB + Redis环境》,软件的安装过程就不再详细说明,请自行Google(如:Ubuntu Server 安装、VirtualBox安装)。

Rails3下Carrierwave+Gridfs强制下载

当用Carrierwave+GridFS存储媒体文件并只提供下载时,如果只是用@model.file_url的方式显示下载连接,像图片、视频、PDF文件会默认被浏览器直接打开浏览。 如果文件是直接存储到硬盘上时,可以使用send_file方法,悲剧的是,我的媒体文件存储在GridFS里,用send_file方法试了半天也没成功。(我在ruby-china的求助帖),总是ActionController::MissingFile。 通过对GridfsController的调试,发现用send_file方法时并没有调用serve方法,(关于我的环境搭建见《Rails3下使用MongoDB做为数据库并使用GridFS保存文件》),知道的同学麻烦请告之。 于是就在ApplicationController里写了一个download_file方法,实现原理和GridfsController中的serve方法一样,用来供前后台调用,强制下载Gridfs中的媒体文件。

Rails3下使用MongoDB做为数据库并使用GridFS保存文件

最近抽空玩了一下Ruby on Rails,用MongoDB来做主数据库,各种Gem功能集合起来还真有些眼花缭乱,决定在博客中把其中较为麻烦的过程记录下来备忘并巩固一下,也为来访者提供一点可用信息。关于环境搭建,如果你用的ubuntu,可以参考我之前在wiki中记录的《Ubuntu下搭建Ruby on Rails+MongoDB+Redis环境》。

Ubuntu下搭建Ruby on Rails+MongoDB+Redis环境

安装说明: 本文是以root用户为例进行安装,如用普通用户,某些命令前需加sudo。 安装过程特别是用RubyGems和Git安装时,下载很慢,可以参考 《Ubuntu下使用proxychains为程序做全局代理》来加快下载速度。 环境: Ubuntu Server版本:11.10 Ruby版本:1.9.2 RubyGems版本: 1.8.11 Rails版本: 3.1.3 Node.js版本: 0.6.9 MongoDB版本:2.0.1 Redis版本:2.4.2