Ruby On Rails 2.0.2Ô´´úÂë·ÖÎö£¨3£© resource
RESTfulµÄ»¯Éí----resource
µ±È»£¬¹â°ÑRESTfulºÍresource³¶µ½Ò»ÆðËƺõÏ൱ÏÁÒ壬ÔÚRailsÖУ¬ActionController::Resources³éÏóÁËRESTÖеÄResource£¬ÕâÀÎÒ²»Ì¸RESTµÄÏà¹Ø¸ÅÄÍøÉÏ×ÊÁÏÒ»´óÛç¡£ÎÒÃǾÍÀ´¿´¿´RailsÖÐÊÇÈçºÎͨ¹ýResourceÀ´ÇáËÉ£¬¼ò±ãµÄÍê³ÉRESTfulÓ¦Óõİɡ£
resources.rb
Ô´´úÂë·¾¶£º/actionpack-2.0.2/lib/action_controller/resources.rb
Ê×ÏÈ£¬ÎÒÃÇÒ²²»ÐèÒª½«resource¿´µÃ¶àôµÄ¸ßÉÄã¿ÉÒÔ°ÑËûÀí½âΪ£¬µ±ÄãÔÚroutes.rbÖж¨ÒåÈçϵÄresourceµÄʱºò£º
map.resources :products
Rails»á×Ô¶¯ÎªÎÒÃÇÉú³ÉÖÚ¶àµÄnamed route£¬ÕâЩrouteͨ¹ýhttp verbºÍÏàÓ¦µÄcontrollerÖеÄaction¶ÔÓ¦ÆðÀ´£¬µ±È»ÁË£¬ÖÚ¶àµÄhelper·½·¨Ò²Ëæ¼´²úÉú¡£ÈçϱíËùʾ£º
Named Route
Helpers
product
product_url, hash_for_product_url,
product_path, hash_for_product_path
new_product
new_product_url, hash_for_new_product_url,
new_product_path, hash_for_new_product_path
edit_product
edit_product_url, hash_for_edit_product_url,
edit_product_path, hash_for_edit_product_path
...
...
´ÓÕâ¸ö½Ç¶ÈÀ´Ï룬Äã¿ÉÒÔ°ÑresourceÏë³ÉÊÇÖÚ¶àÏà¹Ønamed routeµÄÒ»¸öÂí¼×¡£
Õû¸öÁ÷³Ì±È½ÏµÄÖ±¹Û£¬Railsͨ¹ýresource°´²¿¾Í°àµÄÍê³É¸÷ÖÖrouteµÄÉú³É£¬½ÓÏÂÀ´ÎÒÃÇ¿´Ò»¿´ºËÐÄ´úÂëÊÇÈçºÎÍê³ÉÕâЩ¹¦Äܵġ£Ê×ÏÈ£¬»¹ÊÇÔÚroutes.rbÖУ¬¿ÉÄܻᶨÒåÈçϵÄresource£º
Ruby´úÂë
ActionController::Routing::Routes.draw do |map|
map.resources :products
...
end
ActionController::Routing::Routes.draw do |map|
map.resources :products
...
end
resources·½·¨¶¨ÒåÔÚActionController::ResourcesÕâ¸ömoduleÖУ¬È»ºóͨ¹ýmixin½øÈëµ½MapperÀàµÄ¡£ÄÇÎÒÃÇÊ×ÏÈÀ´¿´Ò»¿´Õâ¸ö·½·¨£º
Ruby´úÂë
def resources(*entities, &block)
options = entities.extract_options!
entities.each { |entity| map_resource(entity, options.dup, &block) }
end
def resources(*entities, &block)
options =
Ïà¹ØÎĵµ£º
¡¡×î½ü£¬ÎÒÐèÒªÒ»ÖÖ¿ìËÙ¿ª·¢ÓïÑÔ£¬Ä¿Ç°ÖËÊÖ¿ÉÈȵĿìËÙ¿ª·¢ÓïÑÔ¾ÍÊÇPythonºÍRubyÁË¡£RubyºÍPython¶¼ÊǷdz£ÓÅÐãµÄ½Å±¾ÓïÑÔ£¬ËäÈ»ËûÃǵÄÉè¼ÆÕÜѧ¼¸ºõÍêÈ«²»Í¬£¬µ«ËûÃÇЧÂʲ¶à£¬Ó¦ÓÃÁìÓòÒ²²î¾à²»´ó£¬ËƺõÌìÉú¾ÍÊǾºÕù¶ÔÊÖ¡£µ½µ×Ñ¡ÄǸöÄØ?ÎÒ×öÁËһЩ¼òµ¥µÄ±È½Ï¡£
¡¡¡¡ÎÒÃDZȽ ......
RubyºÍPythonµÄÓï·¨±È½Ï
ÆäʵRubyºÍPython·Ç³£½Ó½ü£¬±È´ó¶àÊý±ðµÄÓïÑÔÒª½Ó½üµÄ¶à£¬ËùÒÔϲ»¶ÓÃɶ¾ÍÓÃɶ£¨´óʵ»°£¬ËäȻҲÊÇ·Ï»°£©¡£Óï·¨ÉϵIJî±ðËäÈ»ÓÐÄÇôһµã£¬´ó²¿·ÖÊÇsyntax sugar£¬ÎÒ¶·µ¨ÉÔ΢Áм¸¸ö£¨pythonÎÒÒ²ÍüµÃ²î²»¶àÁË£¬²»¶ÔµÄ´ó¼Ò¾¡¹ÜÀ´±Þʬ°É£©£¬µ«ÊÇÖ÷Òª²îÒ컹ÊÇÉè¼Æ˼ÏëÉϵģºÁé»î ......
selfÉÏÏÂÎÄ
RubyµÄselfÓкÍJavaµÄthisÏàËÆÖ®´¦£¬µ«ÓÖ´ó²»Ïàͬ¡£JavaµÄ·½·¨¶¼ÊÇÔÚʵÀý·½·¨ÖÐÒýÓã¬ËùÒÔthisÒ»°ã¶¼ÊÇÖ¸Ïòµ±Ç°¶ÔÏóµÄ¡£¶øRubyµÄ´úÂëÖðÐÐÖ´ÐУ¬ËùÒÔÔÚ²»Í¬µÄÉÏÏÂÎÄ(context)self¾ÍÓÐÁ˲»Í¬µÄº¬Ò壬ÏÈÀ´¿´¿´³£¼ûµÄcontext self¶¼´ú±íÄÄЩ
1
2
3
4
5
6
7
8
9
10
11
12
13
......
¿ª·¢»·¾³£º
OS:Windows XP
Ruby:Ruby1.9.1
Rails:Rails2.3.5
will_paginate:will_paginate2.3.11
(ÔÚÃüÁîÐÐÖÐÔËÐÐ gem install mislav-will_paginate --source http://gems.github.com )
IDE:Rubymine2.0.1
DB:mysql5.0.9
±¾ÀýÔÚÉÏÒ»¸öÀý×Ó£¨Rubyʵ¼ù—¼òµ¥Êý¾Ý¿â²Ù×÷£©µÄ»ù´¡ÉÏʵÏÖ·ÖÒ³£¬ÀûÓõÄÊÇwill_p ......