Ruby
文章平均质量分 53
blacksource
这个作者很懒,什么都没留下…
展开
-
Rails宝典之第三式: 通过关联做查询
Rails宝典之第三式: 通过关联做查询 我们来看一个has_many关联的例子: Java代码 class Project has_many :tasks end class Task belongs_to :project end class ProjectsController def转载 2011-12-25 22:15:37 · 897 阅读 · 0 评论 -
Rails宝典之第一式: 实例变量做查询缓存
前段时间对Rails的跟进有点懈怠,因为公司让我做Spring的内部培训,便抽空回归Java,看了下字符集,字节码,Annotation, JavaConfig,JavaScript,Perl,花生壳等等乱七八糟的东西,差点把心收不回来准备去搞C#.net了。 每天一剂Rails良药要开工了,顺便把《The Ruby Way》eMule下来了,再写个“每天一条Ruby小道”怎么样?转载 2011-12-25 22:11:59 · 1821 阅读 · 1 评论 -
如何从零开始学会 Ruby on Rails?
这个话题曾经给身边的很多朋友说过同样的话题,这里整理以下。如果你是一个门外汉,你会 .NET 或是 Java 或是 PHP ... 你对 Ruby on Rails 感兴趣,想学习,开怎么开始?如果你有以上语言两年以上的工作经验,按照我指的路子,最慢1个月就能学会 Ruby on Rails,这个方案曾经经过好几个人证实。以下步骤请一步一步来,切勿心急跳过,最好连我上面的链接都不要提前转载 2011-12-25 22:27:18 · 1270 阅读 · 0 评论 -
Rails宝典之第八式: layout与content_for
如果我们想根据模板页面更改局部layout,使用content_for即可。 content_for允许模板页面代码放到layout中的任何位置。 比如我们的Rails程序不同的页面有不同的css样式,我们可以在layout里留出位置: Java代码 "-//W3C//DTD XHTML 1.0 Strict//EN" "http://w转载 2011-12-25 22:43:19 · 2471 阅读 · 0 评论 -
Rails宝典之第十二式: 重构用户名-p3
这次我们来重构我们的测试用例。 Java代码 require File.dirname(__FILE__) + '/../test_helper' class UserTest fixtures :users def test_full_name_without_middle_initial转载 2011-12-25 23:29:00 · 630 阅读 · 0 评论 -
Rails宝典之第十六式: 虚拟属性
看一个场景,用户注册时需要填写First Name,Last Name,Password: Java代码 Register users_path do |f| %> First Name Last Name Password转载 2011-12-25 23:55:56 · 1419 阅读 · 0 评论 -
Rails宝典之第十八式: 循环flash
我们在application.rhtml(global layout)里经常需要写各种flash的显示: Java代码 "notice"> "error"> 我们可以循环来输出flash: Java代码 do |key, msg| %> key %>转载 2011-12-26 22:38:30 · 611 阅读 · 0 评论 -
Rails宝典之第十九式: admin在哪里
我们通常对admin页面的做法是运行: Java代码 ruby script/generate scaffold xxx 'admin/yyy' 其中xxx为我们的singular的Model名,而yyy为我们的plural的Model名 这样就相当于做了一套cms,后台页面和前台页面是两套东西 其实我们还有一种简单的admin方式,转载 2011-12-26 22:40:13 · 723 阅读 · 0 评论 -
Rails宝典之第二十式: 限制访问
续上一节。 我们在页面中加上如下代码来限制public访问: Java代码 if admin? %> 'New Episode', new_episode_path %> 显然,只有admin才能新建Episode 我们来实现admin?方法 admin?在我们的页面中使用,它是一个helper方法,转载 2011-12-28 23:32:12 · 754 阅读 · 0 评论 -
Rails宝典之第二十一式: 超级简单的认证
续上一节。 我们知道Acts as Authenticated、restful_authentication等许多插件,我们这里为了开发方便也可以简单实现admin?方法: Java代码 def admin? @current_user.name == "admin" end # or def admin?转载 2011-12-28 23:33:43 · 573 阅读 · 0 评论 -
Rails宝典之第二十三式: counter cache
这次就是讲用_count字段来缓存has_many的计数 看Project和Task的例子: Java代码 Projects for project in @projects %> ('task' %>) 上面的页面代码对所有的@projects显转载 2012-01-09 23:04:13 · 1426 阅读 · 0 评论 -
Rails宝典之第十四式: Model上的calculations
没什么新意: Java代码 >> Task.sum(:priority) => 15 >> Task.sum(:priority, :conditions => 'complete=0') => 13 >> Task.maximum(:priority) => 4 >> Task.minimum(:priority) =>转载 2011-12-25 23:48:43 · 506 阅读 · 0 评论 -
Rails宝典之第十三式: Model放在Session里的危险
上次我们说到@current_user时不要将user对象放在session里,而只放user_id,然后每次去数据库取user对象。 有人不理解,这次的视频给出了答案: Java代码 class UsersController def prepare session[:user] = User.find(:first) r转载 2011-12-25 23:32:47 · 706 阅读 · 0 评论 -
Rails宝典之第四式: 将查询移位Model
沿着Rails宝典之第三式: 通过关联做查询的脚步,我们可以进一步简化代码: Java代码 class Task belongs_to :project def self.find_incomplete find_all_by_complete(false, : order => 'created_at DESC')转载 2011-12-25 22:16:43 · 563 阅读 · 0 评论 -
Rails宝典之第五式: 使用with_scope
这次来介绍with_scope方法的使用。 继续前面的例子,我们希望只取得complete为false的前20条数据,我们可以给find_incomplete方法添加一个Hash参数,然后使用with_scope将 额外的参数附加到我们的查询方法里: Java代码 class Task belongs_to :project转载 2011-12-25 22:17:32 · 1435 阅读 · 0 评论 -
Rails宝典之第十五式: find条件
数据库查询的conditions除了简单的字符串,还可以用数组,range,nil等等,看看代码: Java代码 Task.find(:all, :conditions => ["complete=? and priority=?", false, 3]) Task.find(:all, :conditions => ["complete=? and p转载 2011-12-25 23:49:17 · 905 阅读 · 0 评论 -
Rails宝典之第十七式: 多对多Checkbox编辑
这次是讲多对多情况下的编辑,我们使用Checkbox来完成该工作: Java代码 class Category has_and_belongs_to_many :products end class Product has_and_belongs_to_many :categories end 上面Cat转载 2011-12-26 00:04:59 · 964 阅读 · 0 评论 -
Rails宝典之第二式: 动态find_by方法
Rails宝典之第二式: 动态find_by方法 忘了声明了,这个系列主要是Rails入门教学。 今天Rails宝典教大家的是动态find_by方法,我们先看一段代码: Ruby代码 class TasksController def incomplete @tasks = Task.find(:all, :con转载 2011-12-25 22:14:37 · 3865 阅读 · 0 评论 -
Rails宝典之第六式: Symbol to Proc
这次来介绍ActiveSupport里对Symbol的扩展,我们先来看active_support/core_ext/symbol.rb文件: Java代码 class Symbol # Turns the symbol into a simple proc, which is especially useful for enumerations. Ex转载 2011-12-25 22:18:35 · 725 阅读 · 0 评论 -
Rails宝典之第七式: layout详解
这次的视频很有用,详细解释了layout的用法 一般来说layout有如下五种: gobal layout,controller layout,shared layout,dynamic layout,action layout 假设我们有一个views/projects/index.rhtml页面: Java代码 Projects转载 2011-12-25 22:19:52 · 1104 阅读 · 0 评论 -
Rails宝典之第九式: 在日志里过滤敏感数据
这是个安全问题,当我们在系统注册页面输入密码等敏感数据时,我们可以看到,密码以明文的形式显示在日志文件里: Java代码 Processing UsersController#create (for 127.0.0.1 at 2007-02-23 19:11:20) [POST] Session ID: 4047778b64af62d387f7e86转载 2011-12-25 22:49:31 · 1835 阅读 · 0 评论 -
Rails宝典之第十式: 重构用户名-p1
看这个显示用户Profile的页面: Java代码 Profile Name: @user.first_name %> "#{@user.middle_initial}." unless @user.middle_initial.nil? %> @user.last_name %> 'Use转载 2011-12-25 23:03:23 · 699 阅读 · 0 评论 -
Rails宝典之第十一式: 重构用户名-p2
继续重构。 我们先来写User类的单元测试,定义3个测试方法: Java代码 require File.dirname(__FILE__) + '/../test_helper' class UserTest fixtures :users def test_full_name_without_middle_init转载 2011-12-25 23:21:13 · 644 阅读 · 0 评论 -
Rails宝典之第二十四式: Stack Trace
这次讲的是一个textmate plugin textmate_footnotes,用来当Rails程序页面出错时可以点击Stack Trace链接去到 Rails程序源码甚至Rails源码中。 No use for no Mac guys. -_-!转载 2012-01-09 23:09:20 · 718 阅读 · 0 评论