mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
1d31a043e0
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5540 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
69 lines
2.6 KiB
Text
69 lines
2.6 KiB
Text
*SVN*
|
|
|
|
* Use attr_accessor_with_default to dry up attribute initialization. References #6538. [Stuart Halloway]
|
|
|
|
* Add basic logging support for logging outgoing requests. [Jamis Buck]
|
|
|
|
* Add Base.delete for deleting resources without having to instantiate them first. [Jamis Buck]
|
|
|
|
* Make #save behavior mimic AR::Base#save (true on success, false on failure). [Jamis Buck]
|
|
|
|
* Add Basic HTTP Authentication to ActiveResource (closes #6305). [jonathan]
|
|
|
|
* Extracted #id_from_response as an entry point for customizing how a created resource gets its own ID.
|
|
By default, it extracts from the Location response header.
|
|
|
|
* Optimistic locking: raise ActiveResource::ResourceConflict on 409 Conflict response. [Jeremy Kemper]
|
|
|
|
# Example controller action
|
|
def update
|
|
@person.save!
|
|
rescue ActiveRecord::StaleObjectError
|
|
render :xml => @person.reload.to_xml, :status => '409 Conflict'
|
|
end
|
|
|
|
* Basic validation support [Rick Olson]
|
|
|
|
Parses the xml response of ActiveRecord::Errors#to_xml with a similar interface to ActiveRecord::Errors.
|
|
|
|
render :xml => @person.errors.to_xml, :status => '400 Validation Error'
|
|
|
|
* Deep hashes are converted into collections of resources. [Jeremy Kemper]
|
|
Person.new :name => 'Bob',
|
|
:address => { :id => 1, :city => 'Portland' },
|
|
:contacts => [{ :id => 1 }, { :id => 2 }]
|
|
Looks for Address and Contact resources and creates them if unavailable.
|
|
So clients can fetch a complex resource in a single request if you e.g.
|
|
render :xml => @person.to_xml(:include => [:address, :contacts])
|
|
in your controller action.
|
|
|
|
* Major updates [Rick Olson]
|
|
|
|
* Add full support for find/create/update/destroy
|
|
* Add support for specifying prefixes.
|
|
* Allow overriding of element_name, collection_name, and primary key
|
|
* Provide simpler HTTP mock interface for testing
|
|
|
|
# rails routing code
|
|
map.resources :posts do |post|
|
|
post.resources :comments
|
|
end
|
|
|
|
# ActiveResources
|
|
class Post < ActiveResource::Base
|
|
self.site = "http://37s.sunrise.i:3000/"
|
|
end
|
|
|
|
class Comment < ActiveResource::Base
|
|
self.site = "http://37s.sunrise.i:3000/posts/:post_id/"
|
|
end
|
|
|
|
@post = Post.find 5
|
|
@comments = Comment.find :all, :post_id => @post.id
|
|
|
|
@comment = Comment.new({:body => 'hello world'}, {:post_id => @post.id})
|
|
@comment.save
|
|
|
|
* Base.site= accepts URIs. 200...400 are valid response codes. PUT and POST request bodies default to ''. [Jeremy Kemper]
|
|
|
|
* Initial checkin: object-oriented client for restful HTTP resources which follow the Rails convention. [DHH]
|