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 =
Ïà¹ØÎĵµ£º
ÔÚRuby on RailsÖÐÕæµÄÓÐÒ»¶ÑSelect helper¿ÉÒÔÓÃ,ÎÒÃǾ³£ÈÝÒ×»ìÏý¡£³£¼ûµÄÓÐÈý¸ö..
select, select_tag, collection_select(ÆäÓàµÄʲôselect_dateÄÇЩ²»Ì¸)
ÎÒÃÇÏÈÀ´¿´¿´Ò»¸ö»ù±¾µÄÏÂÀʽѡÏî¹Ç¼Ü
</p>
<select
name="ROR">
<option
value="1">ROR1</option><br
/>
<optio ......
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×Ô¶¯»¯²âÊÔ×éºÏ¿ò¼Ü£»Í¨³£Çé¿ö£¬¿ªÔ´µÄ¶«Î÷×ÜÊǸøÈËÒÔÃÔÈË£¬¿ª·ÅʽµÄ´¥¸Ð£¬µ«Í¬Ê±£¬Ò²ÈÃÈËÄÑÒÔ¿ìËÙ½Ó½ü£¨ÏñÊǶ«·½ÄÐÈË¿´´ýÎ÷·½ÃÀÅ®£©£»ÒªÁ˽âÒ»¸ö¿ªÔ´¶øÇÒ×éºÏƯÁÁµÄ¿ò¼Ü£¬×ÜÊÇÒª·ÑЩÖÜÕÂ......×ܶøÑÔÖ®£¬Ëü²»»áÏñÊշѵĶ«Î÷£¬ÄãºÜÌÖÑáËü£¬µ«²»¿É·ñÈÏ£¬ÄãµÄ¸¶·ÑÆäʵ»»È¡Á˱ðÈ˵ÄËöËéÀͶ ......