You must have a substrate of sand or gravel, but the gravel should not be larger than pea gravel. This is the basis of a healthy aquarium, and you will always have issues without a substrate. Think of it like building a house, you need a good foundation, and the substrate provides this.
Rocks I assume means larger than gravel, so this is not providing the bacterial bed for all the bacteria that lives(or should be living) in the substrate.
Goldfish will eat soft plants, they are partly herbivorous. Plants like Java Fern and Anubias generally escape being eaten by fish. Though being slow growers, their uptake of nutrients is not that great. I would get some floating plants, and be prepared to replace them if the goldfish eat them. Some people have plants in another tank, and use this as needed; plants like duckweed or salvinia which grow fast. Water Sprite, and Water Lettuce.
Rocks I assume means larger than gravel, so this is not providing the bacterial bed for all the bacteria that lives(or should be living) in the substrate.
Goldfish will eat soft plants, they are partly herbivorous. Plants like Java Fern and Anubias generally escape being eaten by fish. Though being slow growers, their uptake of nutrients is not that great. I would get some floating plants, and be prepared to replace them if the goldfish eat them. Some people have plants in another tank, and use this as needed; plants like duckweed or salvinia which grow fast. Water Sprite, and Water Lettuce.