Forum: Ruby on Rails caching for rjs?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
David (Guest)
on 2008-11-14 05:29
(Received via mailing list)
I am using rjs to perform ajax deletes on objects within an array
@instructions.  The objects within the array @instructions vary
depending on some other logic in my controller and is not dependent on
direct correlations within the database.  In other words, when I
update the partial with:

page.replace_html :instructions, :partial =>
'instructions', :collection => @instructions

The @instructions cannot just be populated by active record
correlations such as:
@day.instructions.

The logic used in the controller to populate the @instructions
variable is expensive and I would prefer not to go through the logic
again if possible.  What is the best option for this situation, would
using some caching method be best, or is there a way to store the
@instructions variable in a flash or params or something?

Thanks.
Mark Reginald J. (Guest)
on 2008-11-15 03:02
(Received via mailing list)
David wrote:
> correlations such as:
> @day.instructions.
>
> The logic used in the controller to populate the @instructions
> variable is expensive and I would prefer not to go through the logic
> again if possible.  What is the best option for this situation, would
> using some caching method be best, or is there a way to store the
> @instructions variable in a flash or params or something?

Probably the best way would be to cache the whole HTML
partial using Rails' partial-cache capability. You would
use a custom cache key that's built on the set of controller
parameters that influence the contents of the @instructions
collection.

--
Rails Wheels - Find Plugins, List & Sell Plugins -
http://railswheels.com
David (Guest)
on 2008-11-15 14:04
(Received via mailing list)
OK, thanks.  I actually solved the problem by just deleting the html
with: page[dom_id(@instruction)].remove.
This topic is locked and can not be replied to.