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,
Ïà¹ØÎĵµ£º
¡¡×î½ü£¬ÎÒÐèÒªÒ»ÖÖ¿ìËÙ¿ª·¢ÓïÑÔ£¬Ä¿Ç°ÖËÊÖ¿ÉÈȵĿìËÙ¿ª·¢ÓïÑÔ¾ÍÊÇPythonºÍRubyÁË¡£RubyºÍPython¶¼ÊǷdz£ÓÅÐãµÄ½Å±¾ÓïÑÔ£¬ËäÈ»ËûÃǵÄÉè¼ÆÕÜѧ¼¸ºõÍêÈ«²»Í¬£¬µ«ËûÃÇЧÂʲ¶à£¬Ó¦ÓÃÁìÓòÒ²²î¾à²»´ó£¬ËƺõÌìÉú¾ÍÊǾºÕù¶ÔÊÖ¡£µ½µ×Ñ¡ÄǸöÄØ?ÎÒ×öÁËһЩ¼òµ¥µÄ±È½Ï¡£
¡¡¡¡ÎÒÃDZȽ ......
ÔÚRuby on RailsÖÐÕæµÄÓÐÒ»¶ÑSelect helper¿ÉÒÔÓÃ,ÎÒÃǾ³£ÈÝÒ×»ìÏý¡£³£¼ûµÄÓÐÈý¸ö..
select, select_tag, collection_select(ÆäÓàµÄʲôselect_dateÄÇЩ²»Ì¸)
ÎÒÃÇÏÈÀ´¿´¿´Ò»¸ö»ù±¾µÄÏÂÀʽѡÏî¹Ç¼Ü
</p>
<select
name="ROR">
<option
value="1">ROR1</option><br
/>
<optio ......
ת×Ô http://www.javaeye.com/topic/57474
Windowsƽ̨µÄruby IDE µãÆÀ
ÔÚMacOSƽ̨¼¸ºõûÓÐʲôÕùÒéÐÔ£¬´ó¼Ò¶¼ÓÃTextMate¡£µ«ÊÇWindowsƽ̨¿É¹©Ñ¡ÔñºÍʹÓõÄIDEºÜ¶à£¬È´¸÷Óи÷µÄ³¤´¦ºÍ¶Ì´¦¡£»ùÓÚÎÒÓùýµÄËùÓÐruby IDEµãÆÀһϡ£windowsƽ̨µÄRoR IDEÖ÷Òª·ÖΪÁ½ÀࣺһÀàÊÇÖØÁ¿¼¶µÄÈ«¹¦ÄÜIDE£¬ÀýÈçEclipse£¬Netbeans ......
¿ª·¢»·¾³
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ÖжÔÓÚÕûÊýµÄ[],[]=,<<,>>²Ù×÷ÊÇÕë¶ÔÓÚ¶þ½øÖƵÄÖµÀ´ÔËËãµÄ¡£
ÎÒÏÖÔÚдһ¸öÕë¶ÔÊ®½øÖÆÊý²Ù×÷µÄÀ࣬ӵÓÐÕûÊýµÄËùÓз½·¨£¬ÈçÏÂ:
class InterEx
def initialize(val=0)
@val=val
end
def to_s
@val.to_s
end
def [](idx)
self.to_s[idx].to_i
end
d ......