restful polymorphic

We do a lot of polymorphic stuff like this where I work. Just a suggestion:

instead of
eval("#{item.class.to_s.downcase}_comments_path(#{item.id})")

try
send("#{item.class.to_s.downcase}_comments_path", item.id))

Or, wrap it up:
def polymorphic_comments_path(item)
  send("#{item.class.to_s.underscore}_comments_path", item))
end

If you find yourself using eval, there's usually another way to do it in Ruby.