This project is archived and is in readonly mode.
Allow calls to instantiate_record in ActiveResource for Custom Actions
Reported by Matthew Moore | June 6th, 2008 @ 12:48 AM
Right now, to consume custom actions, you have to call .get(:custom_action). This returns a hash, as opposed to a record like .find does.
For my purposes, I need to instantiate the resulting hash into a record. However, there's no way for me to do that because instantiate_record is private. Same goes for instantiate_collection.
Is there a way we could let MyActiveResource call the instantiate methods, by making them protected, for example?
My current workaround is creating my own get_record method to replace .get. However, it doesn't have a lot of the goodness that instantiate_record has, and is a pretty brittle solution all around
def get_record(path)
MyActiveResource.new(get(path))
end
Comments and changes to this ticket
-
jblanche July 22nd, 2008 @ 12:13 AM
- Tag set to activeresource, enhancement
I have searched a lot to solve this problem too but in fact there is no problem :)
You just have to write something like
@songs = Song.find(:all, :from => :list_by_artist, :params => {:artist_id => 2})
and you'll get your records instantiated.
-
josh October 28th, 2008 @ 04:30 PM
- State changed from new to stale
Staling out, please reopen if this is still a problem.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
<h2 style="font-size: 14px">Tickets have moved to Github</h2>
The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>