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

Rails Tricks #2

    博客分类:
  • RUBY
阅读更多

个人摸索的一点点经验

 

Layout  

如果想让页面对不同的响应返回不同的模板,比如ajax请求,普通get

可以这样写:

class TopicsController < ApplicationController

layout :set_layout

#... ...

private

  def set_layout
    if request.xhr?
      false
    else
       "application"
    end
  end
end

 

FORM 表单

同表单中有多个model时候,可以用

fields_for @model_name  ,block

这样在后台抓数据就不用一个个抓了,

params[:model_name]  就可以了

 

form_for 还有个不错的参数 form_for [:prefix,@model]

这样生成的URL会有个前缀,可以节约不少代码了~~

 

Rails  Hook

如果要HOOK一些方法,通常有这几种方法

  1. 写到config / initialize 下
  2. 写到 lib 下, 然后在enviroment 里面包含该文件
  3. 新建一个 plugin ,写在 plugin / lib 下 ,然后在 init.rb 里面包含该文件

 

 

Mass assign

相互嵌套的模型可以使用这个。Rails 2.3 已經不能使用這個。

而可以通過Nested Object Form 實現

 

class User < ActiveRecord::Base
  validates_presence_of :login
  has_many :phone_numbers, :accessible => true
end

class PhoneNumber < ActiveRecord::Base
  validates_presence_of :area_code, :number
  belongs_to :user
end

 

 

a = User.create( {
  :login => 'xhan',
  :phone_numbers => [
    { :area_code => '919', :number => '123-4567' },
    { :area_code => '920', :number => '123-8901' }
  ]
})

a.phone_numbers.count  # => 2

分享到:
评论

相关推荐

    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版本的核心功能与最佳实践。 - **基础假设**:...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    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 ...

    Rails 101S

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

    ruby rails demo

    (2)安装Rails3 gem install rails (3)安装sqlite3 gem install sqlite3-ruby 安装sqlite3时候会提示你从链接中下载sqlite3.dll到ruby安装目录的bin文件夹下! (4)安装mysql gem install mysql2 创建项目: rails ...

    Rails 101 入门电子书

    #### 九、练习作业2-在Group里面发表文章-双层RESTFul - **目标**: - 在Group中添加Post功能。 - **实现过程**: - 创建Post模型。 - 实现关联关系。 - 创建PostsController控制器。 - 实现CRUD操作。 - **高级...

    jRuby On Rails WEB2.0

    2. **深入浅出**:书中不仅讲解了jRuby on Rails的基本概念和原理,还提供了大量实际操作指导,适合不同水平的读者学习。 3. **实战项目**:通过具体的Web 2.0项目案例,读者可以亲自动手实践,加深对jRuby on Rails...

    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编写,包含了五天...

    Agile Web Development with Rails 2 Edition正式版

    2. **下载Rails源码**:访问指定的URL (http://media.pragprog.com/titles/rails2/code/rails.zip) 下载Rails框架的源代码,并将其解压到应用的`vendor`目录下,解压后会得到一个名为`rails`的目录。 3. **更新Rails...

    rails magazine issue 4

    ##### 2. Fine Articles on Ruby & Rails - **核心观点**:精选多篇关于Ruby和Rails的高质量文章。 - **重要性**:提供深入的技术洞察和实践经验,帮助开发者提升技能。 - **应用场景**:适用于希望深入了解Ruby on ...

    rails for zombies

    ##### 2. Read 读取 读取操作用于从数据库中获取数据。Rails 提供了多种方法来查询数据库: - **根据 ID 查询单个记录**: ```ruby t = Tweet.find(3) ``` - **查询多个记录**: ```ruby # 返回指定 ID 的...

    RailsSpace

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

    Rails项目源代码

    2. **MVC架构**: MVC模式将应用程序分为三个主要部分:模型(Model)处理数据逻辑,视图(View)负责显示用户界面,控制器(Controller)协调模型和视图的交互。在这个图片分享项目中,模型可能包括`User`(用户)...

    Mac上rails环境的搭建

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

    Rails101_by_rails4.0

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

Global site tag (gtag.js) - Google Analytics