#Rails Tip 1 Actions Are Methods http://errtheblog.com/posts/1-actions-are-methods
#Rails Tip 2 Real Console Helpers 在console中使用 ApplicationHelperhttp://errtheblog.com/posts/41-real-console-helpers
#Rail Tip 3 分类组织好Model Organize Your Models
#Rail Tip 4 Accessor Missing” http://errtheblog.com/posts/18-accessor-missing
class PostsController < ApplicationController def list_by_author list :conditions => ['author_id = ?', params[:id]] end def list(find_options = {}) @posts = Post.find(:all, { :order => 'created_on desc' }.merge(find_options)) render :action => :list end end 技术要点: 对浏览器传过来的Hash表 params 进行加工处理,使用Hash.merge技术调用Post.find方法,使得list_by_month, list_by_year变得多余。
#Rails Tip 2 Real Console Helpers 在console中使用 ApplicationHelperhttp://errtheblog.com/posts/41-real-console-helpers
#假设我们有这样一个applicationHelper module ApplicationHelper def application_helper_method true end end #如果直接在 在 rails console中,是不起作用的。 >> helper.application_helper_method =>NoMethodError: undefined method `application_helper_method' #正确的方法是 helper.extend ApplicationHelper => #<Object:0x2572f68> helper.application_helper_method => true
#Rail Tip 3 分类组织好Model Organize Your Models
http://errtheblog.com/posts/3-organize-your-models Rails::Initializer.run do |config| config.frameworks -= [ :action_web_service ] config.load_paths += %W[ #{RAILS_ROOT}/app/models/api #{RAILS_ROOT}/app/models/cache #{RAILS_ROOT}/app/models/database #{RAILS_ROOT}/app/models/tableless ] end 技术要点:通过这种方法,我们将model 分成了几个部分 models/api models/tableless ... 当然,以上代码,直接用 config.load_paths += Dir[”#{RAILS_ROOT}/app/models//“] 更简洁。
#Rail Tip 4 Accessor Missing” http://errtheblog.com/posts/18-accessor-missing
这是一篇非常重要文章,解释了模型中的belongs_to :author 以及 attribute accessor(例如story模型是的title)是如何工作。 结论: 1、belongs_to is a class method of ActiveRecord::Base。When belongs_to is called,It’s a real method defined on my Story class. belong_to 是ActiveRecord::Base中的类方法,当Story类被加载,程序运行到 belongs_to :author的时候,author(),author=(),被定义在 Strory类。 2、假设Author表中有一个title列。那个 title(),title=()这两个Get/set方法是如何出现的呢。它们是method_missing。并不真实存在于Article类中。 3、通过alise(别名),可以提供belong to 产生的方法再封装 class Story < ActiveRecord::Base belongs_to :author alias :real_author :author def author auth = real_author auth.name end end
发表评论
-
ruby 小技巧
2014-02-23 21:18 867#Track 1: The C in MVC #irb Mi ... -
rails 小代码合集 view controller model
2014-02-23 13:18 1569Rails Create an image with link ... -
rails bash
2014-02-22 21:48 5801、一个完整的rails app自动生成bash 引用#!/ ... -
实用工具--rails 命令、generator
2014-02-22 20:52 9531、rails 基本 rails new rails-boo ... -
rails 版本 更新/升级 release note
2014-02-22 14:02 526升级到 Rails 4,你的应用需要准备什么? 升 ... -
理解rails gems plugins
2014-02-22 13:06 599#33 Making a Plugin 引用注意 这种手法,可 ... -
日期 、路由辅助方法
2014-02-22 11:48 517#31 Formatting Time 方法一: Task ... -
rails 调试
2014-02-23 22:57 472#24 The Stack Trace A plugin c ... -
Authentication 用户登录 用户权限相关
2014-02-21 21:20 589引用 # 19Where Administration Goe ... -
ActiveRecord
2014-02-21 20:39 951ActiveRecord 4新特性 http://www.os ... -
工作相关
2014-02-21 20:27 494# 工作经历: 2年制造业ERP开发及管理经验 2年旅游信息化 ... -
rails 开发工具相关
2014-02-21 20:14 435#使用TextMate进行Ruby On Rails开发推荐插 ... -
rails view session layout
2014-02-21 19:00 631#208 erb-blocks 简介:在erb中使用block ...
相关推荐
顾名思义,就是讲rails的小技巧,给你上rails的大餐,都是大牛们写的文章,对于想掌握常用技巧的开发者很有帮助
数据库操作: 掌握Rails框架中对数据库的操作方法,包括模型定义、数据迁移、数据查询等数据库操作技巧。 阅读建议: 逐步学习: 按照教程的顺序,逐步学习Ruby on Rails开发的各个知识点,保持持续的学习和实践。 ...
“通过Rebuild Rails,您将构建一个MVC Web框架,其结构类似于Rails,并使用相同的基础库和技巧。您将学习Rails背后的魔力。您将完成每个系统,并通过结构化练习来巩固您的知识。您将了解Rails,就像只有框架构建器...
Rails 小贴士 曾经遇到过您不确定从哪里开始的情况吗? 如何实现 Rails 应用程序的特定部分? 完全不知道如何测试特定行为? Tips on Rails 是为像你这样的人制作的。 它是一个工具,可以让 Rails 用户学习、发布和...
凭借 Sheherazade 的想象力和讲故事的技巧,固定装置可以像“一千零一夜”一样有趣。 目标 舍赫拉查德 想象合理的角色(自动创建有效的对象) 跟踪她的故事(在给定的上下文中重复使用对象) 穿得不多(最小的 ...
文献资料 介绍 为什么代码文档很重要? 使用规范。 提供一个例子。 记录什么? 记录非典型代码。... 记录未来人们将要了解的决策...记录Rails代码的技巧。 例如,我应该记录我的控制器动作吗? 我应该在模型中记录什么?
Ember + Rails(API 服务器) ### ember 重构技巧: 概述: * application.model: store global data (or into window globally) * route: * declare model (original model data) * init controller's state ...
数据库开发人员可将此书作为参考指南,系统管理员可以从本书中找到高级配置技巧,其他用户可以了解一些基本概念和用例。你会发现,将数据组织成自包含的JSON风格的文档比组织成关系型数据库中的记录要容易得多。编辑...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...