Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Ruby On Rails 2.0.2Ô´´úÂë·ÖÎö£¨3£© named route


ǰÑÔ
  ÔÚ¡¶RoutingµÄÔØÈë¡·ÖУ¬ÎÒ´óÖ½éÉÜÁËÒ»ÏÂRailsÖÐ×î¼òµ¥µÄrouteÊÇÈçºÎ¼ÓÔØµÄ¡£ÕâÆªÎÄÕ£¬ÎÒ½«À´½²Ò»½²RailsϵͳÖиüΪ¸´ÔÓµÄnamed routeºÍÓëRESTfulÏà¹ØµÄresourceÊÇÈçºÎ±»¼ÓÔØµÄ¡£ÎªÁ˲»Öظ´Ì«¶àµÄ±ÊÄ«£¬ÕâÆªÎÄÕ½«ÔÚǰÎĵĻù´¡ÉϽøÐУ¬Èç¹û·¢ÏÖµ¥¶À¿´´ËÎÄʱ£¬ÓÐÉÙÐíÔÆÀïÎíÀ½¨ÒéÏÈ¿´Ò»¿´ÎÒµÄǰƪÎÄÕ£ºRuby On Rails-2.0.2Ô´´úÂë·ÖÎö£¨2£©-RoutingµÄÔØÈë
½ø»¯µÄrouting-named route
  Ê×ÏÈ£¬named routeµÄÔØÈëÈ«²¿·¢ÉúÔÚrouting.rbÖС£Æäʵnamed routeÒ»µãÒ²²»±ÈÆÕͨµÄroute¸ßÉîЩʲô£¬RailsÄÚ²¿×îÖÕÒ²Êǽ«named route½âÎöΪһ¸öÆÕͨµÄroute±£´æÔÚRouseSetÀàµÄroutesÊý×éÖУ¨»¹¼ÇµÃÕâ¼Ò»ïô£¿×îºÃÀÎÀμÇסËû£¬ÒòΪ£¬Ëû»¹»áÔÚºóÐøÎÄÕÂÖмÌÐøµÇ̨·¢»ÓÖØÒª×÷Óã©£¬Ö®ËùÒÔÎÒ³ÆËû½ø»¯£¬ÊÇÒòΪnamed route¼ÈÈ»ÌṩÁËname£¬ÔÚRailsÄÚ²¿£¬½«»áÉú³ÉһϵÁеÄhelper·½·¨£¬µ±ÎÒÃÇÔÚcontroller»òÕßviewÖÐʹÓÃlink_to£¬redirect_toµÈ·½·¨Ê±£¬²»ÐèÒªÖ¸¶¨ÏàÓ¦µÄcontrollerºÍaction£¬´Ó¶ø¼ò»¯ÎÒÃǵĴúÂ룬²»ÓöàÁË£¬ÏÈÀ´¿´Ò»¿´ÎÒÃÇËùÊìϤµÄroutes.rb
Ruby´úÂë
ActionController::Routing::Routes.draw do |map|   
  map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'  
  ...   
end  
ActionController::Routing::Routes.draw do |map|
map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
...
end
  ÕâÀÎÒ¶¨ÒåÁËÒ»¸öpurchaseµÄnamed route£¨µ±È»£¬ÄãÍêÈ«¿ÉÒÔʹÓÃconnect·½·¨¶¨ÒåÆÕͨµÄroute£©¡£Ç°Ò»ÆªÎÄÕÂÌáµ½¹ý£¬blockÖеÄmap¶ÔÏóÊÇMapperÀàµÄʵÀý£¬ÆäʵÄã¿ÉÒÔÏëÏóµ½£¬ÆäʵMapperÀಢûÓж¨Òåpurchase·½·¨£¨ÌìÖªµÀÄãÒª¸øÄãµÄnamed routeÆðɶÃû£¿´ä»¨£¿Íú²Æ£¿£©¡£ËùÓеÄÒ»ÇУ¬¶¼ÊÇͨ¹ýMapperÀàµÄmethod_missing·½·¨´¦ÀíµÄ¡£¾ßÌå´úÂëÈçÏ£º
Ruby´úÂë
def method_missing(route_name, *args, &proc) #:nodoc:   
  super unless args.length >= 1 && proc.nil?   
  @set.add_named_route(route_name, *args)   
end  
def method_missing(route_name, *args,


Ïà¹ØÎĵµ£º

rubyºÃÏñÓÐÖ¸Õë°¡£¡£¡£¡

b = "123"
a = b
b.gsub!(/2/,"")
puts a
µÃµ½µÄ½á¹ûÊÇ13£¬·¢ÏÖÈç¹ûa = bµÄ»°Ã²ËÆÖ»ÊǰÑbµÄÖ¸Õë¸øÁËa£¬µ«ÊÇÈç¹ûbµÄÖµ·¢ÉúÁ˱仯a²ÅÄÜ´ÓbÖжÀÁ¢³öÀ´¡£
Èç¹û°ÑÉÏÃæµÄ´úÂë¸Ä³É
b = "123"
a = "#{b}"
b.gsub!(/2/,"")
puts a
ÔòµÃµ½µÄ½á¹ûΪ123£¬ÕâÀïÊǰÑbµÄÖµ¸øÁ ......

Ruby on Rails ÃüÁî²Î¿¼

1.1.Rails
1.1 ´´½¨Ò»¸öRailsÓ¦ÓóÌÐò
$ rails app_name
¿ÉÑ¡Ïî:
-d, database=xxx Ö¸¶¨°²×°Ò»¸öÊý¾Ý¿â(mysql oracle postgresql sqlite2 sqlite3 ), ĬÈÏÇé¿öÏÂÊÇÊý¾Ý¿â
-r, ruby-path= Ö¸¶¨RubyµÄ°²×°Â·¾¶,Èç¹ûûÓÐÖ¸¶¨£¬scriptsʹÓÃenvÈ¥ÕÒRuby
-f, freeze (¶³½á)freezes RailsÔÚvendor/railsĿ¼
1.2 API Docume ......

rubyµ÷ÓÃÆ½Ì¨Ö¸Áîɾ³ýÖ¸¶¨Îļþ¼Ð

Õý³£Çé¿öÏ£¬rubyÈç¹û·¢ÏÖÎļþ¼ÐÖÐÓÐsystem£¬readonly£¬hideÀàÐ͵ÄÎļþ£¬ÔòÊDz»ÄÜÖ±½Óɾ³ý
ËûÃǵġ£ÈçºÎ½â¾öÄØ£¿
ÒÔÆäÈËÖ®µÀ»¹ÖÎÆäÈËÖ®Éí£¡
def dryf(fpath) #destroy file
x = Iconv.iconv('utf-8','gbk',fpath).to_s
%x{attrib -R -S -H \"#{Iconv.iconv('gbk','utf-8',x).to_s}\"}
f = File.new(f ......

Rubyʵ¼ù—HelloWorld

¿ª·¢»·¾³
OS£ºWindowsXP
Ruby: Ruby1.9.1
Rails: Rails2.3.5
IDE: RubyMine2.0.1
1¡¢´´½¨Rails¹¤³Ì
2¡¢ÐÞ¸Ä /config/database.yml
×Ô¶¯´´½¨µÄ¹¤³ÌÖÐĬÈÏÊý¾Ý¿âÁ¬½ÓµÄÊÇsqlite£¬Èç¹ûûÓа²×°´ËÊý¾Ý¿â£¬ÐèÒªÐ޸ĸÃÅäÖ㨱¾ÀýÖÐʹÓõÄÊÇmysql£©
# Mysql Version 5.1.46
development:
adapter: mysql
database: ......

RUBYʵ¼ù—Êý¾Ý¿â¼òµ¥²Ù×÷

¿ª·¢»·¾³£º
Ruby:1.9.1
Rails:2.3.5
Rake:0.8.7
Rack:1.0.1
Mysql:5.0.9
Ruby-mysql:mysql-2.8.1-x86-mswin
IDE:RubyMine2.0.1
Êý¾Ý¿â×¼±¸£º
database:dbdevelopment
user:crystal
password:crystal
Ò»¡¢´´½¨RubyÏîÄ¿RorTest
¶þ¡¢ÐÞ¸Ädatabase.yml
ÕâÀïÖ»ÆôÓÃdevelopment»·¾³Êý¾Ý¿â£¬ÐÞ¸ÄÅäÖÃÎļþÈçÏ£º
dev ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ