#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 944#Track 1: The C in MVC #irb Mi ... -
rails 小代码合集 view controller model
2014-02-23 13:18 1608Rails Create an image with link ... -
rails bash
2014-02-22 21:48 6091、一个完整的rails app自动生成bash 引用#!/ ... -
实用工具--rails 命令、generator
2014-02-22 20:52 9931、rails 基本 rails new rails-boo ... -
rails 版本 更新/升级 release note
2014-02-22 14:02 566升级到 Rails 4,你的应用需要准备什么? 升 ... -
理解rails gems plugins
2014-02-22 13:06 647#33 Making a Plugin 引用注意 这种手法,可 ... -
日期 、路由辅助方法
2014-02-22 11:48 553#31 Formatting Time 方法一: Task ... -
rails 调试
2014-02-23 22:57 514#24 The Stack Trace A plugin c ... -
Authentication 用户登录 用户权限相关
2014-02-21 21:20 632引用 # 19Where Administration Goe ... -
ActiveRecord
2014-02-21 20:39 1028ActiveRecord 4新特性 http://www.os ... -
工作相关
2014-02-21 20:27 529# 工作经历: 2年制造业ERP开发及管理经验 2年旅游信息化 ... -
rails 开发工具相关
2014-02-21 20:14 469#使用TextMate进行Ruby On Rails开发推荐插 ... -
rails view session layout
2014-02-21 19:00 664#208 erb-blocks 简介:在erb中使用block ...
相关推荐
- **小技巧和注意事项**:分享在处理关联时的一些实用技巧和需要注意的地方。 - **关联详解**:深入探讨每种关联类型的实现细节。 - **单表继承**:介绍如何使用单表继承来实现多态关联。 #### ActiveRecord查询...
通常,博客可能会包含一些解决常见问题的技巧,如处理非纯Ruby的依赖,比如数据库驱动,或者是优化打包大小的策略。 `demo_dev.db`文件很可能是你的Rails应用的数据库存储,比如SQLite数据库。在打包应用时,通常...
- **经验丰富的开发者**:即使是对Rails有一定了解的开发者,也能从本书中获得关于如何更好地应用敏捷开发原则的新思路和技巧。 - **团队领导者**:书中不仅涉及具体的开发技巧,还包括了如何组织团队、管理项目等...
- **代码重构技巧**:学习如何重构代码以充分利用Rails 3的新功能,例如ActiveRecord改进等。 - **最佳实践**:遵循最佳实践可以避免常见的陷阱,并使代码更易于维护。 - **调试和故障排除**:掌握有效的调试方法和...
该书旨在为开发者提供一系列关于 Ruby on Rails 的实用技巧和解决方案。通过这些“recipes”,开发者可以更好地理解和应用 Rails 的各种功能,从而提高开发效率和应用程序的质量。 #### 标签解析:“rails学习” ...
Rails入门是针对初学者的一份教程,主要涵盖了Ruby on Rails框架的基础知识。Ruby on Rails(简称Rails)是一款...在学习过程中,配合阅读官方文档、参与社区讨论和完成小项目,将有助于更好地理解和掌握Rails的魅力。
数据库操作: 掌握Rails框架中对数据库的操作方法,包括模型定义、数据迁移、数据查询等数据库操作技巧。 阅读建议: 逐步学习: 按照教程的顺序,逐步学习Ruby on Rails开发的各个知识点,保持持续的学习和实践。 ...
#### 十二、任务G:最后一点小改动 这部分介绍了如何进行一些收尾工作。 **12.1 生成XML** 实现了生成XML文件的功能,用于导出或交换数据。 **12.2 扫尾工作** 完成了最后的一些细节调整,使应用更加完善。 ##...
- **性能优化技巧**:如何提升Rails应用的性能,包括数据库查询优化、缓存机制等。 - **安全性考虑**:如何确保Rails应用的安全性,比如防止SQL注入攻击、XSS攻击等。 ### 结语 《使用Rails进行敏捷Web开发》这...
“通过Rebuild Rails,您将构建一个MVC Web框架,其结构类似于Rails,并使用相同的基础库和技巧。您将学习Rails背后的魔力。您将完成每个系统,并通过结构化练习来巩固您的知识。您将了解Rails,就像只有框架构建器...
这本书主要面向已经具备一定Rails基础知识的开发者,旨在帮助他们深入掌握Rails框架的高级特性及应用技巧。 #### 1.2 目标读者 本书适合那些想要进一步提升Rails技能、开发更复杂Web应用程序的开发者阅读。读者应当...
【标题】"rails-yelp-mvp-源码" 指的是一个基于Rails框架开发的类似于Yelp(美国知名餐饮评论网站)的最小可行产品...通过分析源码,你可以学习到Rails开发的实践技巧和设计模式,对于提升你的Web开发技能非常有帮助。
- **调试信息**:提供调试应用的方法和技巧。 #### 六、总结 通过上述内容可以看出,《Web 开发敏捷之道》这本书不仅涵盖了 Rails 的基础知识和技术细节,还深入探讨了如何利用 Rails 实践敏捷开发的理念。对于...
Rails 小贴士 曾经遇到过您不确定从哪里开始的情况吗? 如何实现 Rails 应用程序的特定部分? 完全不知道如何测试特定行为? Tips on Rails 是为像你这样的人制作的。 它是一个工具,可以让 Rails 用户学习、发布和...
在Ruby on Rails项目中,Cucumber通常用来编写高层次的功能测试,这些测试描述了系统的行为,而RSpec则用于编写单元测试和集成测试,关注于代码的各个小部分。通过自动化这些测试,开发者可以确保他们的代码按预期...