<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>群英汇博客 &#187; Rails</title> <atom:link href="http://blog.ossxp.com/category/%e6%8a%80%e6%9c%af%e6%96%87%e7%ab%a0/rails-%e6%8a%80%e6%9c%af%e6%96%87%e7%ab%a0/feed/" rel="self" type="application/rss+xml" /><link>http://blog.ossxp.com</link> <description></description> <lastBuildDate>Wed, 14 Sep 2011 03:52:03 +0000</lastBuildDate> <generator>http://wordpress.org/?v=2.9.2</generator> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>如何用apache+mongrel部署Rails应用</title><link>http://blog.ossxp.com/2010/06/1355/</link> <comments>http://blog.ossxp.com/2010/06/1355/#comments</comments> <pubDate>Sun, 13 Jun 2010 08:06:03 +0000</pubDate> <dc:creator>王胜</dc:creator> <category><![CDATA[Rails]]></category> <category><![CDATA[项目管理]]></category> <category><![CDATA[redmine]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=1355</guid> <description><![CDATA[
安装mongrel和mongrel_cluster
sudo gem install mongrel mongrel_cluster
由于用gem安装后mongrel_rails命令被放在 /var/lib/gems/1.8/bin/mongrel_rails，使用不方便，所以建议建立符号链接
sudo ln -s /var/lib/gems/1.8/bin/mongrel_rails /usr/bin/mongrel_rails配置并启动 mongrel_cluster在Rails项目的根目录下执行以下命令，生成config/mongrel_cluster.yml 文件，供启用mongrel集群使用
sudo mongrel_rails cluster::configure -e production -p 8000 -a 127.0.0.1 -N 3
有关cluster::configure 更多参数使用可借助帮助命令查看
mongrel_rails cluster::configure -h
生成的文件内容如下：
---
address: 127.0.0.1
log_file: log/mongrel.log
port: "8000"
environment: production
pid_file: tmp/pids/mongrel.pid
servers: 3启用mongrel_cluster
wangsheng@pc01:/opt/redmine/web$ sudo mongrel_rails cluster::start
starting port 8000
starting port 8001
starting port 8002添加虚拟主机
在/etc/apache2/sites-available 目录下 test 文件，配置Rails程序的虚拟主机。
文件的内容如下
&#60;VirtualHost *:80&#62;
# Server name
ServerName <a
href="http://blog.ossxp.com/2010/06/1355/" class="more-link">阅读全部内容 &#187;</a>]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/06/1355/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>如何用nginx+mongrel部署Rails应用</title><link>http://blog.ossxp.com/2010/06/1347/</link> <comments>http://blog.ossxp.com/2010/06/1347/#comments</comments> <pubDate>Wed, 09 Jun 2010 10:30:15 +0000</pubDate> <dc:creator>王胜</dc:creator> <category><![CDATA[Nginx]]></category> <category><![CDATA[Rails]]></category> <category><![CDATA[mongrel]]></category> <category><![CDATA[redmine]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=1347</guid> <description><![CDATA[为什么选择nginx+mongrel部署Rails应用？
nginx 接受公网上的http请求，然后nginx通过反向代理用http协议再把这些请求转发给mongrel，mongrel上启动的Rails对请求进行处理完后再把响应逆向返回，如果如果在高负载 的情况下还可以通过mongrel_cluster启动的mongrel集群，并且在nginx上启动负载均衡，从而成倍地提高处理请求的能力。
以下是安装nginx+mongrel，并部署redmine（一个用Rails做的项目管理工具）的过程。安装nginx
下载地址 http://nginx.org/en/download.html
我下载的版本是 nginx-0.8.40.tar.gz
解压安装
tar -zxvf nginx-0.8.40.tar.gz
cd nginx-0.8.40/
.configure
make
sudo make install
默认情况下安装目录是 /usr/local/nginx
安装mongrel和mongrel_clustersudo gem install mongrel mongrel_cluster
由于用gem安装后mongrel_rails命令被放在 /var/lib/gems/1.8/bin/mongrel_rails，使用不方便，所以建议建立符号链接
sudo ln -s /var/lib/gems/1.8/bin/mongrel_rails /usr/bin/mongrel_rails部署redmine配置nginx，添加一个server块，用于服务redmine
编辑 vi /usr/local/nginx/conf/nginx.conf，以下是添加的内容
upstream mongrel {
server 127.0.0.1:8000;
server 127.0.0.1:8001;
}# rails <a
href="http://blog.ossxp.com/2010/06/1347/" class="more-link">阅读全部内容 &#187;</a>]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/06/1347/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>如何用nginx+passenger署Rails</title><link>http://blog.ossxp.com/2010/06/1341/</link> <comments>http://blog.ossxp.com/2010/06/1341/#comments</comments> <pubDate>Wed, 09 Jun 2010 07:07:49 +0000</pubDate> <dc:creator>王胜</dc:creator> <category><![CDATA[Nginx]]></category> <category><![CDATA[Rails]]></category> <category><![CDATA[redmine]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=1341</guid> <description><![CDATA[以前一直用apache+passenger部署redmine（一个用Rails开发的项目管理工具），最近听说一个web服务器后期之秀&#8212;-Nginx很是厉害（传说它可以处理的并发链接数是apache的10倍）。于是今天就上网搜一些关于这方面的资料，以下是安装passenger+nginx，并部署redmine的过程。
安装步骤下载passenger源码包并解压
下载地址：http://rubyforge.org/frs/download.php/71015/passenger-2.2.14.tar.gz
解压：
  tar -zxvf passenger-2.2.14.tar.gz用passenger提供的nginx安装器安装nginx
注意：如果你想把nginx安装在非个人目录，如/usr/local/nginx或者/opt/nginx你需要以root身份执行以下命令
./passenger-2.2.14/bin/passenger-install-nginx-module
然后在提示下一步一步安装。这个步骤大致如下：按回撤键继续安装
选择自动从网上下载nginx稳定版本安装还是手动安装nginx（我选择1,从网上自动安装）
选择nignx安装目录，默认 /opt/nginx如果你的机器上安装了rubygems，那么有一种更简便的安装passenger+nginx方法
sudo gem install passenger
sudo /var/lib/gems/1.8/bin/passenger-install-nginx-module
部署redmine
修改nginx配置文件，部署redmine
sudo vi /opt/nginx/conf/nginx.conf
在该配置文件中添加一个server 块，用于redmine服务。以下是添加的内容
# rails server
    server {
        listen 80;
        server_name redmine.moon.ossxp.com;
        root /opt/redmine/web/public;   # &#60;--- be sure to point to 'public'!
        passenger_enabled on;
       }说明：listen： 监听的端口
server_name : 服务名
root: rails程序存放的目录。记住一定要指到public目录
passenger_enabled: 是否开启passenger。该选项一定要选择 on。测试是否配置成功
启动nginx
sudo /opt/nginx/sbin/nginx
在浏览器输入 redmine.moon.ossxp.com <a
href="http://blog.ossxp.com/2010/06/1341/" class="more-link">阅读全部内容 &#187;</a>]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/06/1341/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Rails与Sphinx的整合</title><link>http://blog.ossxp.com/2010/03/728/</link> <comments>http://blog.ossxp.com/2010/03/728/#comments</comments> <pubDate>Thu, 04 Mar 2010 09:58:56 +0000</pubDate> <dc:creator>王胜</dc:creator> <category><![CDATA[Rails]]></category> <category><![CDATA[搜索引擎]]></category> <category><![CDATA[sphinx-for-chinese]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=728</guid> <description><![CDATA[如何在 Rails 项目里添加全文索引功能呢。下面介绍一下用sphinx-for-chinese 提供的Rails插件给Rails项目添加全文索引的过程前提是你的机器上已经成功安装了 Sphinx-for-chinese，如果还没有安装，可以参考 Debian/Linux下 sphinx-for-chinese的安装创建项目目录
$ rails --database=mysql demo
$ cd demo修改 config/database.yml文件，添加连接数据库的信息
development:
adapter: mysql
encoding: utf8
reconnect: false
database: demo_development
pool: 5
username: user
password: pass
socket: /var/run/mysqld/mysqld.sock
说明：加粗部分是添加的
创建数据库
demo$ rake db:create RAILS_ENV='development'创建搜索控制器
demo$ ruby script/generate controller search index result修改 app/controllers/search_controller.rb 文件
class SearchController &#60; ApplicationController
def index
end
def result
@query = params['query']
@sphinx = <a
href="http://blog.ossxp.com/2010/03/728/" class="more-link">阅读全部内容 &#187;</a>]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/03/728/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>敏捷的MVC Web框架 Rails</title><link>http://blog.ossxp.com/2010/03/718/</link> <comments>http://blog.ossxp.com/2010/03/718/#comments</comments> <pubDate>Thu, 04 Mar 2010 07:29:49 +0000</pubDate> <dc:creator>王胜</dc:creator> <category><![CDATA[Rails]]></category> <category><![CDATA[Ruby]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=718</guid> <description><![CDATA[Rails 可以说是吸收了太多优秀的元素：Ruby语言的强大
借助于Ruby脚本语言的高效性，Rails可以帮助开发者瞬间完成整个Web项目框架的搭建
J2EE 优秀的MVC实现
借鉴于SSH对MVC的实现，Rails创新出 M(ActiveRecord)－V(ActionViewer)－C(ActionController)框架
约定胜于配置的哲学理念
听到了J2EE里过多配置文件的怨言，Rails从哲学的角度出发，提出“约定胜于配置”的观点，按照Rails约定，可以省去很多复杂的配置。
REST（Representational State Transfer具备表像的状态迁移）
在 Rails 1.2 之前，Rails 沿袭目前流行的 SOA 实现，即SOAP和XML-RPC。但在Rails 1.2 之后，Rails直接支持REST这样的借口，增加了一组路由宏定义，借助于HTTP的几个动作来实现Web资源的调用(GET、PUT、POST、 DELETE等)。
CI （Continuous Integration 持续集成)
借助于软件工程持续迭代开发的理念，Rails也推崇持续集成的理念。最为突出的就是Rails的数据迁移(Migrate)。Rails借助于rake 任务，将数据库的持续集成完美实现。数据库的创建，更新和改动都是一次迁移任务，而且每个迁移任务都由向后回滚的函数，从而可将数据库回滚到迁移之前的状态。]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/03/718/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>用 Rails 2.x.x 和 MySQL 搭建一个Web项目的步骤</title><link>http://blog.ossxp.com/2010/03/713/</link> <comments>http://blog.ossxp.com/2010/03/713/#comments</comments> <pubDate>Thu, 04 Mar 2010 07:18:27 +0000</pubDate> <dc:creator>王胜</dc:creator> <category><![CDATA[Rails]]></category> <category><![CDATA[MySQL]]></category> <category><![CDATA[Web]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=713</guid> <description><![CDATA[众所周知，Rails是一个敏捷的Web MVC开发框架，它可以帮助开发者瞬间完成一个Web项目框架的搭建，省去了J2EE里SSH框架大量复杂的配置工作。它只需要几条命令，就可以完成从数据库到应用曾所有组件的生成以及项目框架的搭建，让人简直难以相信。下面就介绍一下整个搭建的过程。
前提，你的机器上已经安装过 Rails 和 MySQL。创建使用MySQL数据库的项目
workspace$ rails --database=mysql projectName
说明：Rails 自动创建使用MySQL数据库的 projectName 项目框架
打开projectName/config/database.yml，修改连接数据库的配置信息
development:
adapter: mysql
encoding: utf8
reconnect: false
database: sphinx_development
pool: 5
username: user
password: pass
socket: /var/run/mysqld/mysqld.sock
说明：添加访问数据库所需的用户名和密码，为下一步连接数据库作准备
根据数据库配置，让Rails给我们创建数据库，借助于 rake 工具
projectName$ rake db:create RAILS_ENV='development'
说明：Rails 约定开发使用的数据库是以_development结尾（即该命令会在数据库中
创建一个名为projectName_development的数据库）。
迁移数据
projectName$ rake db:migrate
说明：在projectName_development中建立schema_migrations表，记录该项目数据迁移的信息
生成 model, view, controller 各层以及创建实体表所需的脚本
projectName$ ruby script/generate scaffold entityName [fieldName1:fieldType] [fieldName2:fieldType] ......
说明：生成MVC各层的组件以及entityName实体表创建的脚本
Rails 约定数据库表名为实体名的复数（即该操作生成的数据库表名为entityNames）
借助上步生成的脚本在数据库中创建实体表projectName$ rake db:migrate启动应用程序，查看已经搭建好的Web应用
projectName$ ruby script/server
在浏览器输入 http://localhost:3000/entityNames便可以浏览已经搭建好的应用程序了]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/03/713/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>localization插件实现Rails多语言支持</title><link>http://blog.ossxp.com/2010/01/119/</link> <comments>http://blog.ossxp.com/2010/01/119/#comments</comments> <pubDate>Sat, 09 Jan 2010 09:32:41 +0000</pubDate> <dc:creator>王胜</dc:creator> <category><![CDATA[Rails]]></category> <category><![CDATA[localization]]></category> <category><![CDATA[多语言支持]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=119</guid> <description><![CDATA[localization 插件介绍
在 Rails 2.2 版本之前，Rails 应用程序都是采用localization插件实现应用程序的本地化，支持多语言。localization有点类似于gettext，使用很简单的方法就可以为你的应用实现多语言支持，进而实现应用的本地化。Rails 2.2 之后，Rails 引进了 I18n 模块，因此不需额外安装插件就支持多语言。
安装
这个插件的安装方式与其他的Rails插件安装没啥太大区别，只需要在Rails项目目录中按照如下命令安装即可：
RAILS_ROOT&#62; ruby script\plugin install localization
使用
当localization插件安装完成之后，Rails项目启动之后将自动载入他，我们需要在Rails项目目录中建立一个lang目录用来存放语言包。
推荐的做法是在lang目录下建立的语言包的文件名应该与语言名能够对应起来，例如我们要建立一个中文语言包，我们就需要在RAILS_ROOT/lang/目录下建立一个名为zh_CN.rb的文件。内容如下：
Localization.define('zh_CN') do &#124;l&#124;
l.store 'Hello world', '你好，世界'  
end
然后在application.rb文件中加入如下内容，定义需要使用的语言名：
Localization.lang = 'zh_CN'
再打开一个模板文件，在其中输入如下内容：
&#60;title&#62;&#60;%= _("Hello world") %&#62;&#60;/title&#62;
启动Rails项目，浏览这个页面，你就会在标题栏看到中文的标题
]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/01/119/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Rails多语言支持</title><link>http://blog.ossxp.com/2010/01/93/</link> <comments>http://blog.ossxp.com/2010/01/93/#comments</comments> <pubDate>Sat, 09 Jan 2010 08:37:38 +0000</pubDate> <dc:creator>王胜</dc:creator> <category><![CDATA[Rails]]></category> <category><![CDATA[i18n]]></category> <category><![CDATA[多语言支持]]></category><guid
isPermaLink="false">http://blog.ossxp.com/?p=93</guid> <description><![CDATA[Rails I18n(国际化)
Rails在 2.2 版本以后已经把 I18n 模块引入了 Rails 框架，以前的多语言支持大都采用 localization 插件完成的。在 Rails 2.2 版本后，我们只需要在配置文件中开启 I18n，并写相应语种的资源文件就可以了。
I18n 演示例子
1、开启I18n
创建一个配置文件，用于存放本地化的信息( RailsProject&#62; config/initializers/i18n.rb)，文件内容如下：
I18n.default_locale = 'zh'
LOCALES_DIRECTORY = "#{RAILS_ROOT}/config/locales/"
LANGUAGES = {
'English' =&#62; 'en',
'Chinese' =&#62; 'zh'
}
参数解释：
I18n.default_locale 指定默认的本地语言
LOCALES_DIRECTORY 指定存放多国语言文件的目录
LANGUAGES 存储所支持语种
2、在layout文件中加入一个下拉框，给用于提供语种选择(RailsProject&#62; app/views/layouts/base.rhtml ），添加代码如下：
&#60;% form_tag '', :method =&#62; 'GET', do %&#62;
&#60;%= select_tag 'locale', options_for_select(LANGUAGES, I18n.locale),
:onchange =&#62; 'this.form.submit()' %&#62;
&#60;%= submit_tag 'submit' %&#62;
&#60;% end %&#62;注解：LANGUAGES 就是刚在配置文件中声明的LANGUAGES
3、创建一个前置过滤器，用于设定本地化语言（RailsProject&#62; app/controllers/application.rb)，代码如下：class ApplicationController &#60; <a
href="http://blog.ossxp.com/2010/01/93/" class="more-link">阅读全部内容 &#187;</a>]]></description> <wfw:commentRss>http://blog.ossxp.com/2010/01/93/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (user agent is rejected)
Database Caching 11/14 queries in 0.068 seconds using disk

Served from: blog.ossxp.com @ 2012-02-11 06:25:46 -->
