百度首页 | 百度空间
 
文章列表
 
您正在查看 "Ruby And Rails" 分类下的文章

2008年08月17日 星期日 上午 10:40
作者:老王

在Rails2.1版本下,theme_support无法正常运行,下面介绍一下修复的过程:

修改theme_support/lib/patches/actionview_ex.rb文件:

def render_file(template_path, use_full_path = true, local_assigns = {})
["#{RAILS_ROOT}/themes/#{controller.current_theme}/views",
   "#{RAILS_ROOT}/themes/#{controller.current_theme}"
].each do |prefix|
    @finder.prepend_view_path(prefix
类别:Ruby And Rails | 评论(0) | 浏览()
 
2008年08月14日 星期四 下午 04:27
作者:老王

老版本的will_paginate是基于plugin方式的,其安装方式如下:ruby script/plugin install svn://errtheblog.com/svn/plugins/will_paginate

新版本的will_paginate已经抛弃了这样的做法,转而使用gem的方式,本文通过建立一个名为foobar的应用来了解一下will_paginate的用法。

==============================

C:\>rails foobar -d mysql

C:\>cd foobar

C:\foobar>ruby script/generate scaffold article title:string content:text

此时设置一下
类别:Ruby And Rails | 评论(0) | 浏览()
 
2008年02月16日 星期六 下午 09:58
作者:老王

数据迁移中字段的unsigned问题

Rails数据迁移中,对一个int字段,比如说ip字段:

新版本:t.integer :ip
老版本:t.column :ip, :integer

不过这样生成的是int(11),没有设置unsigned,如果一定要用unsigned,可以采用一个权宜的方法:

t.column :ip, "int unsigned"

多少有点怪,而且t.column这样的老式写法已经不推荐了,其实最好的方法还是:

t.integer :ip, :unsigned => true

可惜这种写法不知道啥时候才
类别:Ruby And Rails | 评论(0) | 浏览()
 
2008年02月14日 星期四 下午 08:41
作者:老王

在旧版本的数据迁移中,以创建表为例,用法如下:

class CreateProducts < ActiveRecord::Migration
def self.up
    create_table :products do |t|
      t.column :category_id, :integer
      t.column :title, :string
      t.column :description, :text
类别:Ruby And Rails | 评论(1) | 浏览()
 
2008年02月10日 星期日 下午 08:48
作者:老王

我使用的是英文版的NetbeansRubyIDE,启动后,部分菜单显示为中文。解决方法其实很简单那:打开etc/netbeans.conf配置文件,在netbeans_default_options选项的最后加入:-J-Duser.language=en。
类别:Ruby And Rails | 评论(0) | 浏览()
 
2008年01月06日 星期日 下午 09:37
作者:老王

在Ruby中,我们可以把一个模块混入(Mixin)到对象中,从而达到类似多重继承的效果。

下面举几个例子来仔细阐述一下这个问题:

首先定义一个Module:

module Foo
def bar
    puts "foo";
end
end


然后我们把这个模块混入到对象中去:

class Demo
include Foo
end


如上编码后,模块中的实例
类别:Ruby And Rails | 评论(2) | 浏览()
 
2007年11月22日 星期四 下午 02:57
作者:老王

元编程(MetaProgram),就是指用一段程序生成另一段程序。广义的讲,类似Java里基于XML的代码生成和PHP里基于__call的动态代理等都可以算作元编程,不过今天我要介绍的是Ruby里的元编程。

Ruby里的元编程例子很多,attr_accessor算是最容易想到的例子了,通过设定attr_accessor,Ruby解析器会自动给我们的代码加上setter/getter功能,其实实现起来还是相当简单的,下面我们自己实现一个类似attr_accessor的方法(var):

类别:Ruby And Rails | 评论(3) | 浏览()
 
2007年11月16日 星期五 下午 03:03
作者:老王

《Web开发敏捷之道(第二版)》这本书已经买了好几个月了,但真正开始系统的学习还是这阵子的事儿。今天改写了书中一段不爽的例子,如下:

在介绍购物车的演示代码中(Page127),有如下例子:

------------------------------------------------------------------------------------------

<%= hidden_div_if(@cart.items.empty?, :id => "cart") %>
类别:Ruby And Rails | 评论(3) | 浏览()
 
2007年11月13日 星期二 下午 06:43
作者:老王

假设你已经有了能运行的Ruby环境,那么我们先来安装rcov

C:\Documents and Settings\computer>gem install rcov
Select which gem to install for your platform (i386-mswin32)
1. rcov 0.8.0.2 (ruby)
2. rcov 0.8.0.2 (mswin32)
3. rcov 0.8.0.1 (mswin32)
4. rcov 0.8.0.1 (ruby)
5. Skip this gem
6. Cancel installation


我的操作系统是WindowsXP,所以选择第二项。安装很简单,使用也很简单,我们建立一个rail
类别:Ruby And Rails | 评论(4) | 浏览()
 
2007年11月13日 星期二 上午 09:54
作者:老王

题目很简单:1 + 2 + ... + 100等于多少(5050)?

当我们了解了最基本的Ruby语法之后,解决方法应该很简单:

irb(main):001:0> sum = 0
=> 0
irb(main):002:0> (1..100).each do |element|
irb(main):003:1* sum += element
irb(main):004:1> end
=> 1..100
irb(main):005:0> puts sum
5050
=> nil


不过,上
类别:Ruby And Rails | 评论(1) | 浏览()
 
     
 
 
文章分类
 
 
Linux(23)
 
Apache(11)
 
Mysql(20)
 
Php(51)
 
 
 
 
 
 
     
 
文章存档
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
     
 
最新文章评论
   
 

我正好做了个
http://alisoft.phpsir.com
您可以玩玩

不是广告
 

code igniter不错....
 
 

博主看来对CakePHP使用很有心得啊,我还只是刚入门:)
 
     


©2008 Baidu