This project is archived and is in readonly mode.

#350 ✓stale
Matthew Moore

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

    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

    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>

People watching this ticket

Pages