![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Ruby
文章平均质量分 54
hidetobj
这个作者很懒,什么都没留下…
展开
-
Rails快速上手
[b]Windows下安装Ruby和InstantRails[/b]去[url]http://instantrails.rubyforge.org/wiki/wiki.pl[/url]下载InstantRails并解压到一个目录由于InstantRails自身就包含了Ruby解释器,所以不用另外再下载Ruby的Windows安装程序运行InstantRails.exe,提示是否更改路径...2007-03-15 14:28:34 · 82 阅读 · 0 评论 -
rake db:migrate的两个小问题
1,ubuntu中配置databse.yaml时需要指定如下内容:[code]socket: /var/run/mysqld/mysqld.sock[/code]因为ubuntu/debian下的mysql socket位置如上,如果不指定会报错:[code]rake aborted!No such file or directory - /tmp/mysql.sock...2007-04-06 13:25:29 · 84 阅读 · 0 评论 -
Linux下手动下载安装ruby/rubygems/rails
1,ruby[code]download ruby-1.8.6.tar.gztar zxvf ruby-1.8.6.tar.gz./configuresudo makesudo make install[/code]2,rubygems[code]download rubygems-0.9.2.tgztar zxvf rubygems-0.9.2.t...2007-04-10 10:16:36 · 158 阅读 · 0 评论 -
Rails文件上传
1,upload_controller.rb[code]class UploadController < ApplicationController before_filter :configure_charsets def configure_charsets @headers["Content-Type"]="text/html;charset=utf...2007-04-10 14:50:28 · 74 阅读 · 0 评论 -
ubuntu的mysql.sock问题
rails会默认寻找/tmp/mysql.sock一般我们可以修改rails的database.yml并加上socket: /var/run/msyqld/mysqld.sock但是有时候svn上代码需要一致时,我们可以修改~/.bash_profile并添加以下内容来解决:[code]sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysq...2007-04-11 10:06:13 · 566 阅读 · 0 评论 -
Rails里的Magic Column Names
Active Record有一些富有“魔力”的列名:[color=red][b]created_at, created_on, updated_at, updated_on[/b][/color]在create或者update一行时Rails对_at形式的列用timestamp自动更新,对_on形式的列用date自动更新[color=red][b]lock_version[/b...2007-04-12 11:04:46 · 94 阅读 · 0 评论 -
Rails里的Controller Environment
Action Pack的Controller建立的环境让我们快捷的访问一些对象:[color=red][b]request[/b][/color]进来的request对象,它有如下属性/方法:domain()remoteip()env()methoddelete?,get?,head?,post?,put?[color=red][b]params[/b][/...2007-04-12 13:48:48 · 83 阅读 · 0 评论 -
Rails response的几种方式
1,Rendering Templatesrender(:text => string)render(:inline => string, [:type => "rhtml"|"rxml"])render(:action => action_name)render(:file => path, [:use_full_path => true|false])render(:tem...2007-04-12 17:09:27 · 348 阅读 · 0 评论 -
Rails里的Template Environment
Rails的Template可以访问的对象1,Controller里所有的实例变量2,Controller Environment里的request, params, cookies, response, session, headers对象3,表示当前的Controller的controller对象,这样则Template可以调用Controller里的public方法4,表示模...2007-04-12 17:24:16 · 83 阅读 · 0 评论 -
开发阶段也要抛弃WEBrick,迎接Mongrel
WEBrick实在太慢,赶紧换个Mongrel Server吧用RubyGems安装即可:[code]sudo gem install mongrel[/code]一路选择安装依赖库即可在RadRails的Window->Preferences->Rails->Configuration里配置好Mongrel path即可New一个Mongrel Server来跑了...2007-04-13 11:12:59 · 103 阅读 · 0 评论 -
每天一剂Rails良药之In-Place Form Editing
看看蛙眼的博客分类管理,有点In Place Editing的意思,是否让用户感觉更方便呢?Rails有许多很小的好处,让人欲罢不能。今天来看看Rails使用script.aculo.us让In Place Editing更简单,让你的应用更加Web2.01,新建Rails项目,配好数据库设置[code]rails test[/code]2,添加contacts...2007-04-17 18:39:59 · 98 阅读 · 0 评论 -
每天一剂Rails良药之Making Your Own JavaScript Helper
上次我们在[url=http://hideto.iteye.com/blog/71956] 每天一剂Rails良药之In-Place Form Editing[/url]里讲到In-Place编辑,大家意犹未尽吧!但是现在只能支持text和textarea的In-Place Edit,如何添加一个对select的In-Place Edit呢?或者说,我们怎样写自己的JavaScript H...2007-04-18 17:24:50 · 85 阅读 · 0 评论 -
每天一剂Rails良药之Creating a Drag-and-Drop Sortable List
今天来看看用Rails创建一个可拖拽的List。1,创建Rails项目,搭建数据库[code]Migration:class AddPersonAndGroceryListsAndFoodItemsTables < ActiveRecord::Migration def self.up create_table :people do |t| t.c...2007-04-20 00:53:13 · 124 阅读 · 0 评论 -
每天一剂Rails良药之RJS
本来题目应该为Update Multiple Page Elements With One Ajax Request,但蛙眼的博客标题字数有限,遂更名为RJS,因为这次主要了解的就是Rails的RJS。让我们看看一个RJS的例子,通过一次Ajax请求灵活的更新页面中的多个元素。1,新建Rails项目和一个rhtml如app/views/ajax_fun/index.rhtml:...2007-04-20 13:00:14 · 101 阅读 · 0 评论 -
试用Rails开源小论坛-Beast
[url=http://beast.caboo.se/]Beast[/url] is a small, light-weight forum in Rails with a scary name and a goal of around 500 lines of code when we're done.[url=http://beast.caboo.se/forums/1/topics/...2007-04-20 14:37:49 · 111 阅读 · 0 评论 -
每天一剂Rails良药之Lightning-Fast JavaScript Auto-completion
Gmail中你输入收信人地址时会自动搜索并提示,速度很快,因为Gmail不是每次都从后台搜索,而是一开始就把地址加载到页面中,然后在页面中匹配并搜索。让我们看看怎样在Rails里实现它。1,准备搜索数据我们创建app/controllers/book_controller.rb:[code]class BookController < ApplicationControll...2007-04-22 00:33:02 · 106 阅读 · 0 评论 -
每天一剂Rails良药之Live Preview
像蛙眼等有时候需要给用户提供预览查看,今天我们就来看看利用Rails和Prototype快捷的提供Live Preview功能。1,在layout里加入prototype.js如app/views/layouts/standard.rhtml:[code] [/code]2,定...2007-04-23 16:28:05 · 143 阅读 · 0 评论 -
每天一剂Rails良药之Live Search
这次我们看看Rails里text_field的auto_complete,即Live Search。1,添加Recipe的Migration[code]class AddRecipes < ActiveRecord::Migration def self.up create_table :recipes do |t| t.column :name, :...2007-04-23 17:09:21 · 133 阅读 · 0 评论 -
每天一剂Rails良药之Cheap and Easy Theme Support
你可能需要给你的站点用户添加一个主题样式支持。让我们看看用Rails实现该功能是多简单。1,给User模型添加类型为string的style字段2,修改app/views/layouts/application.rhtml[code] ...2007-04-23 17:30:20 · 68 阅读 · 0 评论 -
每天一剂Rails良药之Use Ajax to Trim Fast, Static Pages
今天让我们看看怎样使用Rails和Ajax得到静态页面。看下面这个页面:[code] Learn to Program (Chris Pine) 'product-1-detail', :method => 'get', ...2007-04-23 17:57:25 · 72 阅读 · 0 评论 -
每天一剂Rails良药之Smart Pluralization
对英文网站,我们常常需要显示一个名词的复数形式。而Rails就提供了一个称为Inflector的工具来计算该逻辑,并且ActionView有一个wrapper方法来处理常见的复数形式,如:[code]There are .[/code]当你的网站不是使用English或者有一些比较特殊的复数规则时,我们可以在config/environment.rb里定义这些规则,如:[c...2007-04-23 19:29:17 · 82 阅读 · 0 评论 -
每天一剂Rails良药之Debugging Ajax
1,Rails1.1及以上版本默认会在config/environments/development.rb里加上下列设置:[code]config.action_view.debug_rjs = true[/code]这样,当你使用RJS时,如果发生异常,则会有一些非常有用的JavaScript alerts。2,使用下列方式...2007-04-24 13:40:59 · 70 阅读 · 0 评论 -
每天一剂Rails良药之Creating a Custom Form Builder
有时候我们希望我们的表单拥有一致的显示风格,今天我们就看看用Rails怎样创建一个Helper来自定义表单。1,实现自己的FormBuilder在app/helpers/application_helper.rb里加入以下代码:[code]class TabularFormBuilder < ActionView::Helpers::FormBuilder (fiel...2007-04-24 16:18:48 · 75 阅读 · 0 评论 -
每天一剂Rails良药之Make Pretty Graphs
[b]rake stats[/b]可以生成统计代码行数,类的个数,方法的个数等信息,今天我们看看怎样生成rake stats的饼状图。1,安装ImageMagick什么新立得包管理器装一下或者apt-get装一下或者下载binary包安装2,安装RMagick[code]sudo gem install rmagick[/code]3,安装Gruff[c...2007-04-24 18:10:34 · 76 阅读 · 0 评论 -
大家可以抛弃Java踹死Django转投Rails的怀抱了!
公司接了个基于Rails的二次开发的项目,看人家的代码本来就一直云里雾里,今天被routes.rb里的map.resources搞的快崩溃了,上网翻了一下午的资料都未果。现在有点庆幸,又有点心冷。一旦有什么问题不明白,喜欢上网翻一堆资料,打开一箩筐网页,然后一个一个边看边比较。[url=http://routes.groovie.org/manual.html]Route ...2007-04-26 00:43:28 · 327 阅读 · 0 评论 -
每天一剂Rails良药之Rails Without A Database
一般Rails项目都默认为需要数据库存储支持,但是当我们不需要数据库时,如基于外部WebService的项目和一些测试时,我们可以通过一些小技巧来达到解除数据库依赖的目的1,修改test_helper.rb[code]ENV["RAILS_ENV"] = "test"require File.expand_path(File.dirname(__FILE__) + "/../c...2007-04-26 22:53:20 · 73 阅读 · 0 评论 -
每天一剂Rails良药之Connecting to Multiple Databases
预备知识:1,Rails启动后没有马上建立数据库连接,而是当model第一次调用connect()方法时建立连接2,默认情况下ActiveRecord::Base建立数据库连接,然后它的所有子类即所有的model均拥有该连接3,model查找数据库连接时从自己开始向它的父一层一层查找连接,直到找到为止如果我们的Rails应用需要建立对多个数据库的连接,我们该怎样做呢?1...2007-04-26 23:34:42 · 53 阅读 · 0 评论 -
每天一剂Rails良药之Integrating with Legacy Databases
针对遗留系统的二次开发或者需要使用遗留数据库时,我们可以突破默认的Rails数据库表名惯例,秘笈就是配置ActiveRecord::Base为了在整个Rails应用域里起作用,我们将配置写在config/environment.rb里:[code]ActiveRecord::Base.table_name_prefix = "wp_"ActiveRecord::Base.p...2007-04-27 21:17:04 · 86 阅读 · 0 评论 -
每天一剂Rails良药之DRY Up Your Database Configuration
由于database.yml十分小巧,我们很容易忘掉它是用[url=http://yaml.org/spec/]YAML[/url]这种非常健壮的标记语言来写的。YAML有一个叫"merge keys"的特性,它可以merge one Hash into another。例如:[code]development: adapter: mysql database: D...2007-04-28 13:53:54 · 60 阅读 · 0 评论 -
每天一剂Rails良药之Self-referential Many-to-Many Relationships
考虑一个UserStory,Person 1添加Person 2为好友,怎样让Person 2的好友列表中也有Person 1?这里Person对自己Many-to-Many关联。[code]class AddPeopleAndTheirFriendsRelationship < ActiveRecord::Migration def self.up create_...2007-04-28 15:09:02 · 78 阅读 · 0 评论 -
每天一剂Rails良药之Tagging
“social networking”产生了一个东西叫“tagging”,而DHH为Rails写了一个acts_as_taggable插件,简化了Rails开发tagging功能acts_as_taggable依赖于Rails的polymorphic associations feature,允许对任何model进行tag1,安装插件[code]ruby script/plug...2007-04-28 17:55:18 · 108 阅读 · 0 评论 -
每天一剂Rails良药之Versioning Your ActiveRecord Models
Wiki有一个功能就是Undo,我们来看看Rails的acts_as_versioned插件1,安装插件[code]ruby script/plugin install acts_as_versioned[/code]2,例子[code]class Chapter < ActiveRecord::Base acts_as_versionedend...2007-04-28 23:18:01 · 79 阅读 · 0 评论 -
每天一剂Rails良药之Convert an Existing Application to Migrations
有时候我们的Rails应用是在已有数据库上的,我们需要把基于SQL的schema转化成ActiveRecord的schema1,dump schema运行rake db:schema:dump来将数据库中的表结构复制到db/schema.rb文件中这时运行rake db:schema:load或者将schema.rb的内容copy到一个migration中并运行rake db:mi...2007-05-01 11:09:43 · 53 阅读 · 0 评论 -
每天一剂Rails良药之具有数据的多对多关系
每天一剂Rails良药之Many to Many Relationships Where the Relationship Itself Has Data通常我们面临多对多时的处理方法是建立一个关系表,然后has_and_belongs_to_many如果我们的关系表有其他属性,我们通过声明join table来放置关系表的其他属性而当关系表本身具有其他属性时,我们可以通过join...2007-05-02 01:39:18 · 68 阅读 · 0 评论 -
每天一剂Rails良药之Polymorphic Associations - has_many :whatevers
前面的[url=http://hideto.iteye.com/blog/75917]tagging[/url]一文中说道acts_as_taggable插件依赖于Rails的多态关联特性,今天我们就来看看它有时候一个表和多个表关联,比如people和company都有address,我们可以利用Rails的多态关联来实现其功能(其实我觉得标题应该改为Polymorphic Associa...2007-05-03 00:34:55 · 194 阅读 · 0 评论 -
每天一剂Rails良药之Adding Behavior to Your ActiveRecord Association
前天我们看到了怎样在关联中定义额外的属性,这次我们看看怎样在关联中定义行为我们以下面的关联为例:[code]class AddStudentsTables < ActiveRecord::Migration def self.up create_table :students do |t| t.column :name, :string t....2007-05-03 15:26:12 · 63 阅读 · 0 评论 -
每天一剂Rails良药之Dynamic Database Config
Rails的数据库配置文件config/database.yml在YAML parser处理前会先使用ERB处理,这意味着我们可以动态化我们的数据库配置举个例子,有时候我们的Rails开发Team成员有的用的是Linux环境,有的用的是Macintosh,我们的数据库mysql的socket的位置可能不一样我们可以动态配置我们的数据库socket:[code]development...2007-05-04 23:25:26 · 108 阅读 · 0 评论 -
每天一剂Rails良药之Use ActiveRecord Outside of Rails
ActiveRecord属于Rails的子框架,我们可以在Rails外使用它process_orders_nightly.rb:[code]require 'active_record'ActiveRecord::Base.establish_connection( :adapter => "mysql", :host => "localhost", :usern...2007-05-05 12:42:04 · 66 阅读 · 0 评论 -
Aptana Rails IDE(Beta with RadRails and RDT)
安装Stand-alone的Aptana Rails IDE:1,去[url]http://www.aptana.com/download_rails_rdt.php[/url]下载Win或Mac或Linux版的Aptana Rails IDE2,Open up Aptana, and Navigate to the Help > Software Updates > Find and I...2007-05-05 13:57:54 · 121 阅读 · 0 评论 -
每天一剂Rails良药之Perform Calculations on Your Model Data
ActiveRecord::Calculations模块提供了model级的方法来得到model数据的count,sum,average,maximum和minimum值例如:[code]Person.count("age > 21")Person.average(:age)Person.minimum(:age)Person.maximum(:age)Person.a...2007-05-06 00:20:01 · 118 阅读 · 0 评论