Rails宝典之第十七式: 多对多Checkbox编辑

这次是讲多对多情况下的编辑,我们使用Checkbox来完成该工作: class Category < ActiveRecord::Base has_and_belongs_to_many :products end class Product < ActiveRecord::Base has_and_belongs_to_many :categories end 上面Category ...
by hideto 2011-05-26 浏览 (2472) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第十六式: 虚拟属性

看一个场景,用户注册时需要填写First Name,Last Name,Password: <h1>Register</h1> <% form_for :user, :url => users_path do |f| %> <p> First Name<br/> <%= f.text_field :first_name %&g ...
by hideto 2011-05-26 浏览 (1336) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第十五式: find条件

数据库查询的conditions除了简单的字符串,还可以用数组,range,nil等等,看看代码: Task.find(:all, :conditions => ["complete=? and priority=?", false, 3]) Task.find(:all, :conditions => ["complete=? and priority ...
by hideto 2011-05-26 浏览 (1787) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第十四式: Model上的calculations

没什么新意: >> Task.sum(:priority) => 15 >> Task.sum(:priority, :conditions => 'complete=0') => 13 >> Task.maximum(:priority) => 4 >> Task.minimum(:priority) => 1 > ...
by hideto 2011-05-26 浏览 (1211) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第十三式: Model放在Session里的危险

上次我们说到@current_user时不要将user对象放在session里,而只放user_id,然后每次去数据库取user对象。 有人不理解,这次的视频给出了答案: class UsersController < ApplicationController def prepare session[:user] = User.find(:first) redirect_to action ...
by hideto 2011-05-26 浏览 (1506) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第十二式: 重构用户名-p3

这次我们来重构我们的测试用例。 require File.dirname(__FILE__) + '/../test_helper' class UserTest < Test::Unit::TestCase fixtures :users def test_full_name_without_middle_initial user = User.new(:first_name => ...
by hideto 2011-05-26 浏览 (1090) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第十一式: 重构用户名-p2

继续重构。 我们先来写User类的单元测试,定义3个测试方法: require File.dirname(__FILE__) + '/../test_helper' class UserTest < Test::Unit::TestCase fixtures :users def test_full_name_without_middle_initial user = User.new(: ...
by hideto 2011-05-26 浏览 (922) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第十式: 重构用户名-p1

看这个显示用户Profile的页面: <h1>Profile</h1> <p> Name: <%= @user.first_name %> <%= "#{@user.middle_initial}." unless @user.middle_initial.nil? %> <%= @user.last_name ...
by hideto 2011-05-26 浏览 (1284) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第九式: 在日志里过滤敏感数据

这是个安全问题,当我们在系统注册页面输入密码等敏感数据时,我们可以看到,密码以明文的形式显示在日志文件里: Processing UsersController#create (for 127.0.0.1 at 2007-02-23 19:11:20) [POST] Session ID: 4047778b64af62d387f7e860e51cce20 [color=red]Parameters ...
by hideto 2011-05-26 浏览 (1449) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第八式: layout与content_for

如果我们想根据模板页面更改局部layout,使用content_for即可。 content_for允许模板页面代码放到layout中的任何位置。 比如我们的Rails程序不同的页面有不同的css样式,我们可以在layout里留出位置: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http ...
by hideto 2011-05-26 浏览 (2218) 回复 (1) 群组: 每天一剂Rails良药

Rails宝典之第七式: layout详解

这次的视频很有用,详细解释了layout的用法 一般来说layout有如下五种: gobal layout,controller layout,shared layout,dynamic layout,action layout 假设我们有一个views/projects/index.rhtml页面: <h2>Projects</h2> <ul> <% ...
by hideto 2011-05-26 浏览 (2069) 回复 (1) 群组: 每天一剂Rails良药

Rails宝典之第六式: Symbol to Proc

这次来介绍ActiveSupport里对Symbol的扩展,我们先来看active_support/core_ext/symbol.rb文件: class Symbol # Turns the symbol into a simple proc, which is especially useful for enumerations. Examples: # # # The same as peo ...
by hideto 2011-05-26 浏览 (1566) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第五式: 使用with_scope

这次来介绍with_scope方法的使用。 继续前面的例子,我们希望只取得complete为false的前20条数据,我们可以给find_incomplete方法添加一个Hash参数,然后使用with_scope将 额外的参数附加到我们的查询方法里: class Task < ActiveRecord::Base belongs_to :project def self.find_inco ...
by hideto 2011-05-26 浏览 (1377) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第四式: 将查询移位Model

沿着Rails宝典之第三式: 通过关联做查询的脚步,我们可以进一步简化代码: class Task < ActiveRecord::Base belongs_to :project def self.find_incomplete find_all_by_complete(false, : order => 'created_at DESC') end end class Proje ...
by hideto 2011-05-26 浏览 (1385) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第三式: 通过关联做查询

Rails宝典之第三式: 通过关联做查询 我们来看一个has_many关联的例子: class Project < ActiveRecord::Base has_many :tasks end class Task < ActiveRecord::Base belongs_to :project end class ProjectsController < Applicatio ...
by hideto 2011-05-26 浏览 (1490) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第二式: 动态find_by方法

Rails宝典之第二式: 动态find_by方法 忘了声明了,这个系列主要是Rails入门教学。 今天Rails宝典教大家的是动态find_by方法,我们先看一段代码: class TasksController < ApplicationController def incomplete @tasks = Task.find(:all, :conditions => ['comp ...
by hideto 2011-05-26 浏览 (1683) 回复 (0) 群组: 每天一剂Rails良药

Rails宝典之第一式: 实例变量做查询缓存?

前段时间对Rails的跟进有点懈怠,因为公司让我做Spring的内部培训,便抽空回归Java,看了下字符集,字节码,Annotation, JavaConfig,JavaScript,Perl,花生壳等等乱七八糟的东西,差点把心收不回来准备去搞C#.net了。 每天一剂Rails良药要开工了,顺便把《The Ruby Way》eMule下来了,再写个“每天一条Ruby小道”怎么样? 前段时间订阅 ...
by hideto 2011-05-26 浏览 (2085) 回复 (0) 群组: 每天一剂Rails良药

ActionController::Resources + ActiveResource = REST

从Rails的svn资源库下载最新的Rails,我们会发现多了个activeresource包 从此Rails核心模块变为: ActiveRecord、ActionPack、ActionWebService、AcionMailer、ActiveResource、ActiveSupport和Railties 这里有几个问题: 一,ActionController里的resources.rb文件与A ...
by hideto 2011-05-26 浏览 (2000) 回复 (1) 群组: 每天一剂Rails良药

Rails源码研究之ActionView:七,capture_helper

Struts有Tiles,WebWork可以用sitemesh,而Rails呢?有Capture! 请看活生生的例子先: 例子1: # layout.rhtml: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> & ...
by hideto 2011-05-26 浏览 (1057) 回复 (0) 群组: 每天一剂Rails良药

Rails源码研究之ActionView:六,scriptaculous_helper

scriptaculous_helper主要是对scriptaculous的controls和effects相关方法调用的封装 require File.dirname(__FILE__) + '/javascript_helper' module ActionView module Helpers module ScriptaculousHelper unless const_defined? ...
by hideto 2011-05-26 浏览 (1021) 回复 (0) 群组: 每天一剂Rails良药

Rails源码研究之ActionView:五,prototype_helper

Rails的Ajax是依赖于prototype库的,我们来看看ActionView对prototype的一些方法调用的封装 源文件为prototype_helper.rb,其中包括RJS的update_page调用的JavaScriptGenerator类的定义: 1,link_to_remote是简单的异步url请求 def link_to_remote(name, options = {}, ...
by hideto 2011-05-26 浏览 (1530) 回复 (0) 群组: 每天一剂Rails良药

Rails源码研究之ActionView:四,javascript_helper

跟模板中JavaScript相关的helper方法定义文件有javascript_helper.rb/prototype_helper.rb/scriptaculous_helper.rb 其中javascript_helper与基本的JavaScript功能有关,prototype_helper与Ajax有关,而scriptaculous_helper与controls和visual effect ...
by hideto 2011-05-26 浏览 (1058) 回复 (0) 群组: 每天一剂Rails良药

Rails源码研究之ActionView:三,form_helper

ActionView还带有许多helpers,让我们开发起来更快速更顺手,让我们来看看form中常用的一些helper方法 form_helper.rb: module ActionView module Helpers module FormHelper def form_for(object_name, *args, &proc) raise ArgumentError, " ...
by hideto 2011-05-26 浏览 (1961) 回复 (0) 群组: 每天一剂Rails良药

Rails源码研究之ActionView:二,partials

partials是Rails模板重用的一项重要技术,让我们来读读partials.rb源码文件: module ActionView module Partials def render_partial(partial_path, local_assigns = nil, deprecated_local_assigns = nil) path, partial_name = partial_pi ...
by hideto 2011-05-26 浏览 (895) 回复 (0) 群组: 每天一剂Rails良药

Rails源码研究之ActionView:一,基本架构和ERB

先看源码再分析 1,action_view.rb $:.unshift(File.dirname(__FILE__) + "/action_view/vendor") require 'action_view/base' require 'action_view/partials' ActionView::Base.class_eval do include ActionVie ...
by hideto 2011-05-26 浏览 (2942) 回复 (0) 群组: 每天一剂Rails良药

Rails源码研究之ActionController:十,pagination

1,action_controller\pagination.rb: module ActionController module Pagination def paginate(collection_id, options={}) Pagination.validate_options!(collection_id, options, true) paginator_and_collection ...
by hideto 2011-05-26 浏览 (1669) 回复 (0) 群组: 每天一剂Rails良药

Rails源码研究之ActionController:九,mime_responds

Rails从HTTP Accept header得到客户端需要的response format信息 默认的MIME types见mime_type.rb: ALL = Type.new "*/*", :all TEXT = Type.new "text/plain", :text HTML = Type.new "text/html", ...
by hideto 2011-05-26 浏览 (1206) 回复 (0) 群组: 每天一剂Rails良药

Rails源码研究之ActionController:八,resources

深入了解一下ActionController的Resources--RESTful Rails 1,ActionController的resources用来实现REST api,一个单独的resource基于HTTP verb(method)有不同的行为(action),如: map.resources :messages class MessagesController < Action ...
by hideto 2011-05-26 浏览 (1519) 回复 (0) 群组: 每天一剂Rails良药

Rails源码研究之ActionController:七,filters

我们上次看过了ActiveRecord的callbacks,这次看看ActionController的filters 1,filter继承 先执行父类中的filter,再执行子类中的filter,如果父类中的filter返回false,则不执行子类中后续的filter 2,filter类型 1)method reference(symbol) class BankController < ...
by hideto 2011-05-26 浏览 (2031) 回复 (0) 群组: 每天一剂Rails良药

Rails源码研究之ActionController:六,request

看看Rails的request/response源码吧,非常有趣,有些方法非常实用 1,request.rb: module ActionController class AbstractRequest def method @request_method ||= (!parameters[:_method].blank? && @env['REQUEST_METHOD'] == ...
by hideto 2011-05-26 浏览 (2101) 回复 (0) 群组: 每天一剂Rails良药

群组知识库热门文章

最新评论

谢谢 讲解 曾经看过良哥哥 的学习笔记上有介绍 有所了解 看了楼主的讲解 加深了印象 谢谢
smilesail 评论了 实战篇:设计自己的Annotation
正在研究学习,真的是雪中送炭。。。多谢!
tantec 评论了 实战篇:设计自己的Annotation
还是不知道这个东西被发明出来什么用?
yhjhoo 评论了 实战篇:设计自己的Annotation
我目前是结合aop一起使用,用于记录方法调用及其他。。
tou3921 评论了 实战篇:设计自己的Annotation
写的挺不错,花了20分钟左右读完,并把例子运行了一遍,感谢楼主的无私奉献
JavaCrab 评论了 实战篇:设计自己的Annotation
很好的例子,看了你的例子在看那些理论,就简单多了。。。。顶
kala888 评论了 实战篇:设计自己的Annotation
light 老大威武
pluswolfboy 评论了 实战篇:设计自己的Annotation
谢谢,明白 annotion原理 ````
aleck1769394 评论了 实战篇:设计自己的Annotation
写的可读性非常好,让我对annotation很容易就有了初步认识,好文章
wangluo19 评论了 实战篇:设计自己的Annotation
引用 [*[url][/url][flash=200,200][/flash]dfdfgf[si ...
lovexzhh 评论了 实战篇:设计自己的Annotation
Global site tag (gtag.js) - Google Analytics