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,
Ïà¹ØÎĵµ£º
ת Adding Sound to Your Ruby Apps
Have you ever thought about including sounds in your Ruby application? Used sparingly, sound may enhance your applications by adding audio cues or a custom touch. You could, for example, play a beep or chime that announces the completion of a lengthy process. Per ......
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 ......
class Point
@x = 1
@y = 2
def initialize(x,y)
@x,@y = x,y
end
end
´úÂëÖеÄ@x£¬@yΪʵÀý±äÁ¿£¬ÊµÀý±äÁ¿Ö»¶ÔselfµÄ»·¾³Æð×÷Óã¬Òò´ËinitializeÍâÃæµÄ@x=1£¬@y=2Ö»¶ÔÀà±¾ÉíÆð×÷Ó㬶ø·½·¨ÄÚ²¿£¬µÄ@x£¬@yÊǶԶÔÏóµÄʵÀýÆð×÷Óõġ£
class Point
include Enumerable
def initialize(x ......
ÕâÊÇÒ»¸ö¿ªÔ´£¬Ãâ·Ñ£¬ÁéÇÉ£¬¼òÒ×µÄweb×Ô¶¯»¯²âÊÔ×éºÏ¿ò¼Ü£»Í¨³£Çé¿ö£¬¿ªÔ´µÄ¶«Î÷×ÜÊǸøÈËÒÔÃÔÈË£¬¿ª·ÅʽµÄ´¥¸Ð£¬µ«Í¬Ê±£¬Ò²ÈÃÈËÄÑÒÔ¿ìËÙ½Ó½ü£¨ÏñÊǶ«·½ÄÐÈË¿´´ýÎ÷·½ÃÀÅ®£©£»ÒªÁ˽âÒ»¸ö¿ªÔ´¶øÇÒ×éºÏƯÁÁµÄ¿ò¼Ü£¬×ÜÊÇÒª·ÑЩÖÜÕÂ......×ܶøÑÔÖ®£¬Ëü²»»áÏñÊշѵĶ«Î÷£¬ÄãºÜÌÖÑáËü£¬µ«²»¿É·ñÈÏ£¬ÄãµÄ¸¶·ÑÆäʵ»»È¡Á˱ðÈ˵ÄËöËéÀͶ ......
¿ª·¢»·¾³
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: ......