`
xhanxhanxhan
  • 浏览: 203500 次
  • 性别: 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 rails demo

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

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    rails2-sample

    rails2-sample good book

    centOS Rails3环境搭建

    2 Ruby 1.9.2, RubyGems # cd ~/source/ # wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz -C ~/source/ # tar xvzf ~/source/ruby-1.8.7-p174.tar.gz -C ../build/ # cd ../build/ruby-...

    rs_ci_app_rails:在 RightScale 中演示持续集成的示例应用程序,用 Ruby on Rails 4 #becauseBleedingEdge 编写

    rs_ci_app_rails 这是一个非常简单的 Rails4 应用程序,它将显示应用程序的当前 git commit SHA。 它还具有一个 /deploy 控制器,该控制器将对 RightScale 进行 API 调用以部署应用程序的新构建 SHA。 部署控制器...

    html5-rails:为您的Rails应用程序生成Html5 Boilerplate!

    HTML5 for Rails HTML5为Rails科技项目基于保罗爱尔兰,迪夫亚Manian和其他许多。...2.安装您的套装 $ bundle install 3.运行发电机 $ rails generate html5:install (这就是它的作用) create config/com

    rails 2.3.2离线安装rails 2.3.2离线安装

    rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...

    to_xls-rails:将Rails ActiveRecord或Mongid数据导出到Excel文件

    这个简单的插件使您能够调用to_xls到Rails的数组集合。 数组元素支持对象:ActiveRecord,Mongid,哈希。 在您的Gemfile中: gem 'to_xls-rails' # Last officially released gem # gem "to_xls-rails", :git =&gt; ...

    [Rails] Crafting Rails Applications (英文版)

    [Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...

    Rails.Angular.Postgres.and.Bootstrap.2nd.Edition

    Embrace the full stack of web development, from styling with Bootstrap, building an interactive user interface with Angular 2, to storing data quickly and reliably in PostgreSQL. With this fully ...

    Ruby on Rails Tutorial

    《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...

    Rails之道,完整扫描版

    《Rails之道》按照Rails的各个子系统进行组织编排,分别介绍了Rails的环境、初始过程、配置和日志记录,Rails的分配器、控制器、页面生成和路由,REST、资源和Rails,ActiveRecord的基础、关联、验证和高级技巧,...

    Rails项目源代码

    一个用Ruby on Rails搭建的图片分享的网站项目.完整源代码

    Bootstrap for Rails (2015)

    Chapter 2: Introducing Bootstrap 3 25 What is Bootstrap? 26 Installing Bootstrap in a Rails project 27 Placing Bootstrap files in a Rails project 28 Bootstrap – the Sass way 33 Bootstrap through CDN ...

    rails敏捷开发的购物车系统

    本资源是参照rails敏捷开发第四版书中的例子,rails的版本是rails3.2.6

    yabeda-rails:Yabeda插件可收集Rails应用程序的基本指标

    当前,当通过rails server , puma -C config/puma.rb或unicorn -c启动服务器时,yabeda-rails自动注册Rails指标。 但是,目前不支持其他应用程序服务器或通过rackup启动。 可能的解决方法是检测服务器进程并在初始...

    adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成.zip

    adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成 AdminLTE Rails gem AdminLTE 是后端的高级 Bootstrap 主题。英镑 AdminLTE Rails gem 与 Rails 资产管道集成了英镑AdminLTE主题。安装将...

    Ruby on rails tutorial中文版(第二版)

    最终的示例程序将在外表上和一个同样采用 Rails 开发的微博网站十分相似2。虽然我们将主要的精力集中在这个示例程序上了,但是本书的重点却在于提供一些通用的方法,这样你就会具有坚实的基本功,不论开发什么样的 ...

    RVM_Ruby1.9.3_Rails3(2-Ruby on Rails3安装配置)

    Windows7_Cygwin_Git_RVM_Ruby1.9.3_Rails3_MongoD B_Nginx_Unicorn_Rspec_Guard_Spork(2-Ruby on Rails3 安装配置

Global site tag (gtag.js) - Google Analytics