Rails has a few built in caching options for you, two of which would likely work for you, depending on what you're doing with the query result:
Fragment Caching
If you were using this as a collection for a select box an often used form I would go with this option. This would allow you to cache not only the database result, but the actual HTML section of the page . This is done simply by throwing a <%= cache do %> around the section, like so:
<html>
...
<body>
...
<div class='content'>
...
<%= cache do %>
<%= select "nutrient", "nutrient", Nutrient.all.collect(&:nutrient) } %>
<% end %>
Rail.cache
You could also write a method to talk directly to the built in cache store, by dropping a method in your ApplicationController and then have it run on a before_filter callback like so:
application_controller.rb
class ApplicationController < ActionController::Base
before_filter :retrieve_nutrients
def retrieve_nutrients
@nutrients = Rails.cache.fetch("nutrients") do
Nutrient.all.collect(&:nutrient)
end
end
end
In both cases in a production environment you're going to want to setup either Memcached or Redis to act as a caching layer (they sit behind Rails.cache and are a snap to implement). I would checkout Rails Guides for a deeper look at it.