`
xhanxhanxhan
  • 浏览: 208782 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Rails Tricks #1

    博客分类:
  • RUBY
阅读更多

《Agile Web Develop》这本书里面只是简单介绍了下Rails ,许多东西为什么,以及更多有趣的东西都没有提到。

看别人项目源码后,才觉得Rails 的内容还真不是一般多。而ruby 随意修改内核功能的特性,更导致代码阅读起来额外麻烦。甚至不需要include,直接继承基类后extend就可以在其他地方使用了 - -

 

with_scope  :ActiveRecord::Base   很方便的函数,用在需要不定参数查找时特好用

  class Article < ActiveRecord::Base
    def self.create_with_scope
      with_scope(:find => { :conditions => "blog_id = 1" }, :create => { :blog_id => 1 }) do
        find(1) # => SELECT * from articles WHERE blog_id = 1 AND id = 1
        a = create(1)
        a.blog_id # => 1
      end
    end
  end

 

模板渲染

一般情况下,模板中只有一个<yield>用来填充内容。如果有特殊需要,比如需要额外的css,js 可以添加额外的 <%=yield:name_space %>

然后在需要使用的地方:

<% content_for :name_space do %>
    <!-- code you wanna place here-->
<%end%>

 

过滤私密信息:

经常会发生这种情况,测试的时候用户的登录名,密码都在日志里面一览无余。如果觉得良心不安,使用这个:

filter_parameter_logging :password

这样会将和password 有关的内容过滤掉。

 

调试:

  controller : raise sth

  viewer:      debug sth

  console    : y sth

 

routes 里面 member 和 collection 的区别:

比如  map.resources :days,member =>{:today=>:get}

        map.resources :days,collection =>{:today=>:get}

一开始以为两种方法一样,member生成的路径是 get_day_path(:id) ,而collection生成的是get_days_path

 

关于 form_for :

 一开始对 scaffold 后生成的 form_for 很好奇,因为在 new, edit 里面居然是相同的代码,连路径都没有。

很困惑后,查看源码才知道原因。Rails代码封装的太恐怖了,首先它会判断 form_for 的变量是否是个 new_record?

如果后面没有路径它会根据变量的属性来确定是新建还是修改。

0
0
分享到:
评论

相关推荐

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    ### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...

    Rails 101S

    ### Rails 101S: 初学者必备的Ruby on Rails 宝典 #### Introduction: 深入了解Ruby on Rails 《Rails 101S》是一本为Ruby on Rails初学者准备的手册,旨在帮助新手快速入门并掌握基本的开发技能。本手册将从最...

    jRuby On Rails WEB2.0

    1. **权威作者**:Ola Bini作为JRuby项目的核心成员,其专业性和实践经验为本书增添了权威性。 2. **深入浅出**:书中不仅讲解了jRuby on Rails的基本概念和原理,还提供了大量实际操作指导,适合不同水平的读者学习...

    ruby rails demo

    ruby rails demo, rails 简单demo。 (1)到ruby官网:http://www.ruby-lang.org/en/下载window安装包,并安装, ruby版本: ruby -v (2)安装Rails3 gem install rails (3)安装sqlite3 gem install sqlite3-ruby 安装...

    Rails 101 入门电子书

    #### 七、练习作业1-建立Group-CRUD与RESTful - **CRUD操作**: - Create (创建): 创建新的Group对象。 - Read (读取): 显示Group的信息。 - Update (更新): 修改Group的信息。 - Delete (删除): 删除Group。 - ...

    Rails 敏捷开发实践

    ### Rails 敏捷开发实践 #### 一、引言 《Rails 敏捷开发实践》是一本关于如何高效地利用 Ruby on Rails 进行敏捷开发的经典书籍。本书由蔡望勤(Jesse Cai)撰写,他是一位资深的 Ruby 开发者,自2006年起便致力于...

    ruby on rails 101

    ### Ruby on Rails 101:深入理解与实践 #### 引言 《Ruby on Rails 101》是一本介绍Ruby on Rails(简称RoR或ROR)的基础书籍,旨在为初学者提供一个全面而深入的学习框架。本书由Peter Marklund编写,包含了五天...

    rails2-sample

    #### 1. Introducing Ruby on Rails(介绍Ruby on Rails) 这一章节为读者提供了Ruby on Rails框架的基本认识。Ruby on Rails是一种基于Ruby语言的开源Web应用框架,遵循MVC(Model-View-Controller)设计模式。它...

    rails magazine issue 4

    ##### 1. The Future of Rails - **核心观点**:探讨Ruby on Rails未来的发展方向和技术趋势。 - **重要性**:对于开发者而言,了解Rails的发展趋势有助于规划个人或项目的技术栈发展方向。 - **应用场景**:适用于...

    RailsSpace

    ### RailsSpace:构建社交网络网站 #### 一、引言 RailsSpace是一本专注于通过实践项目教授Ruby on Rails开发的书籍。本书通过构建一个面向Ruby社区的社交网络平台——RailsSpace,来帮助读者掌握Ruby on Rails的...

    Rails项目源代码

    1. **Rails框架基础**: Rails的核心理念是DRY(Don't Repeat Yourself),它鼓励开发者编写简洁、可复用的代码。框架提供了丰富的内置功能,如路由、ORM(对象关系映射)、数据库迁移和强大的脚手架工具,帮助快速...

    Flexible Rails: Flex3 on Rails2

    ### Flexible Rails: Flex3 on Rails2 #### 关于Flexible Rails 本书《Flexible Rails: Flex 3 on Rails 2》由Peter Armstrong撰写,旨在探讨如何结合使用Flex 3和Rails 2来开发高效的富互联网应用程序(Rich ...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    Mac上rails环境的搭建

    ### Mac上Rails环境的搭建详解 #### 一、前言 在Mac环境下搭建Rails开发环境是许多Ruby on Rails开发者的一项基本技能。本文将详细介绍如何在Mac系统上搭建一个完整的Rails开发环境,包括Ruby环境配置、Rails框架...

    centOS Rails3环境搭建

    ##### 1. 安装Node.js Node.js在某些Rails应用中是必需的,尤其是在使用某些前端工具如Webpacker时。可以通过以下命令进行安装: ```bash # 安装依赖库 yum install httpd httpd-devel openssl-devel zlib-devel ...

    Agile Web Development with Rails 2 Edition正式版

    1. **创建Rails应用程序**:首先按照常规步骤创建一个新的Rails应用,这一步会自动创建一个名为`vendor`的目录。 2. **下载Rails源码**:访问指定的URL (http://media.pragprog.com/titles/rails2/code/rails.zip) ...

    Agile Web Development with Rails for Rails 3.2

    ### Agile Web Development with Rails for Rails 3.2 #### 核心知识点概览 - **Rails 3.2概述** - **敏捷开发方法论** - **Model-View-Controller (MVC) 模式** - **Ruby on Rails基础与高级特性** - **面向对象...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

Global site tag (gtag.js) - Google Analytics