It certainly can be (in fact it is much clearer with the 'for dinner' added on), but 'to take' food is a very old-fashioned way of putting it. You can instead say "what did you eat for dinner?" or even "what did you have for dinner?", the second of which is much more natural in a restaurant setting. You would say to the waiter "I will have the soup, please" - although you can in that context say "take" as well. To refer to what you ate or ordered though, don't use "take" as it's very Victorian. :)