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 =
Ïà¹ØÎĵµ£º
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µÄÖµ¸øÁ ......
·ÖÒ³ÖÐÓõ½Àà±äÁ¿£¬Ö÷ÒªÊÇÓÃÀ´±ê¼Ç¡°Ò³ÂëÊäÈë¿ò¡±µÄ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 ......
¿ª·¢»·¾³£º
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 ......
ÏÂÃæ½éÉÜRuby formµÄÁ½ÖÖд·¨¡£
Ruby formд·¨Ò»£ºÊ¹ÓÃform_for
< % form_for :order, :url => { :action => :save_order } do |form| %> < p> < %= label :order ......