《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?
如果后面没有路径它会根据变量的属性来确定是新建还是修改。
分享到:
相关推荐
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 安装...
1 准备工作 install nodejs # yum install httpd \httpd-devel \openssl-devel \zlib-devel \mysql-server \mysql-devel \gcc \gcc-c++ \curl-devel\libyaml 2 Ruby 1.9.2, RubyGems # cd ~/source/ # wget ftp:...
rs_ci_app_rails 这是一个非常简单的 Rails4 应用程序,它将显示应用程序的当前 git commit SHA。 它还具有一个 /deploy 控制器,该控制器将对 RightScale 进行 API 调用以部署应用程序的新构建 SHA。 部署控制器...
1.在您的Gemfile中 group :assets do gem 'sass-rails' gem 'coffee-rails' gem 'uglifier' gem 'compass-h5bp' end gem 'jquery-rails' gem 'html5-rails' # Optional: to generate haml # gem 'haml-rails' # ...
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的数组集合。 数组元素支持对象:ActiveRecord,Mongid,哈希。 在您的Gemfile中: gem 'to_xls-rails' # Last officially released gem # gem "to_xls-rails", :git => ...
[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, ...
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
《Rails之道》按照Rails的各个子系统进行组织编排,分别介绍了Rails的环境、初始过程、配置和日志记录,Rails的分配器、控制器、页面生成和路由,REST、资源和Rails,ActiveRecord的基础、关联、验证和高级技巧,...
Chapter 1: Introducing Web Application Development in Rails 7 Why Bootstrap with Rails? 8 Setting up a Todo application in Rails 8 Analyzing folder structure of a Rails application 10 Creating views ...
一个用Ruby on Rails搭建的图片分享的网站项目.完整源代码
本资源是参照rails敏捷开发第四版书中的例子,rails的版本是rails3.2.6
当前,当通过rails server , puma -C config/puma.rb或unicorn -c启动服务器时,yabeda-rails自动注册Rails指标。 但是,目前不支持其他应用程序服务器或通过rackup启动。 可能的解决方法是检测服务器进程并在初始...
adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成 AdminLTE Rails gem AdminLTE 是后端的高级 Bootstrap 主题。英镑 AdminLTE Rails gem 与 Rails 资产管道集成了英镑AdminLTE主题。安装将...
Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details., Tens of thousands of ...
中文世界唯一一本Rails 4.0.0 + Ruby 2.0.0 的自學書籍
使用Aptana+Rails开发Rails Web应用 有Aptana的安装配置等等,中文