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,
Ïà¹ØÎĵµ£º
1£¬°²×°ruby
ÏÂÔØµØÖ·£º http://rubyinstaller.org/download.html
2£¬°²×°rails
ʹÓÃÃüÁîÏÂÔØ£ºÔÚÃüÁîÐÐÔËÐÐgem install rails --remote
2£¬³õ²½Á˽ârubyµÄÎÄÕÂ
http://www.bcbbs.net/html/29671.html
http://www.bcbbs.net/dev/List64.aspx ......
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µÄÖµ¸øÁ ......
ת×Ô http://www.advidea.cn/biancheng/200943135232.html
Ruby watir ²âÊÔ¿ò¼Ü
´ó¶àÊýÈ˶¼»á°²×° ruby,
Ҳͨ¹ýRuby °²×° gem,
Ò²°²×°ÁËruby IDE¿ª·¢¹¤¾ß£ºnetbeans,
µ«¾ÍÊDz»ÄÜÅÜwatir»·¾³£¬¿ñÔμÓÍÂÖС£¡£¡£
´íÎóÈçÏ£º
in `require': no such file to load -- watir (LoadError)
·´Õý¾ÍÊÇÕÒ²»µ½watir,ÕâÀï ......
·ÖÒ³ÖÐÓõ½Àà±äÁ¿£¬Ö÷ÒªÊÇÓÃÀ´±ê¼Ç¡°Ò³ÂëÊäÈë¿ò¡±µÄid Èç¹ûÒ»¸öÒ³ÃæÓм¸¸ö·ÖÒ³£¬¡°Ò³ÂëÊäÈë¿ò¡±µÄidÒªÊDz»Í¬µÄ²ÅÄÜ·ÖÇåÊÇÄĸöÒª·ÖÒ³¡£Ê¹ÓÃÀà±äÁ¿¾ÍÊÇΪÁË´ïµ½Õâ¸öÄ¿µÄ£¬ÈÃËùÓеĶÔÏóʵÀý¹²ÓÃÒ»¸ö±äÁ¿£¬²»±ØÃ¿´ÎÖØÐ³õʼ»¯±äÁ¿¡£ Àà±äÁ¿Ê¹ÓôúÂëʾÀý 1 require 'ruby-debug'
2 debugger
3 cla ......
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 ......