上上篇文章已经介绍过extract_options方法的作用了,主要是从args中筛选出是hash的参数。
选择来讲讲reserve_merge方法。
params = {"page" => "2"}
params.reverse_merge!( :page => 1, :sort_by => "new", :view_by => "all’")
result => {:page => 1, :sort_by => "new", :view_by => "all" , "page" => "2"}
params = {"page" => "2"}
params.reverse_merge!( "page" => 1, :sort_by => "new", :view_by => "all")
result =》 { "page" => 1, :sort_by => "new", :view_by => "all"}
两个方法经常这样使用:
args.extract_options!.reverse_merge!(:size => 20)