caching for rjs?

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.

David wrote:

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?

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.

OK, thanks. I actually solved the problem by just deleting the html with: page[dom_id(@instruction)].remove.