## How do you update variables in NDSolve for each step?

Im using NDSolve. I need to be able to update a variable inside NDSolve each time NDSolve takes a step. "rand" is the variable I want to update each step. I want it to be a different number each step. The below is an example that illustrates what I have currently happening ("rand" does not update for each step).
Code:
rand=RandomReal[]
Solution = y /. Flatten[ NDSolve[{y'[x] == .25 rand, y[0] == 1}, y, {x, -10, 10}]]
Plot[Evaluate[Solution[x]], {x, -10, 10}, PlotRange -> {-1.5, 1.5}]
Instead of picking 1 random variable for "rand" for the entire x domain, I want "rand" to be different for each step i.e. a different "rand" for x=1, x=2, x=3, etc.

 PhysOrg.com science news on PhysOrg.com >> Heat-related deaths in Manhattan projected to rise>> Dire outlook despite global warming 'pause': study>> Sea level influenced tropical climate during the last ice age
 When you say each step, do you mean each step in x i.e step in the internal integration? If so then the only way I can think of at the moment (not even sure if this is what you want) is to generate a table of random points, each associated with an x value and parse that as a function of x, i.e. y'[x] = 0.25 f(x) where f(x) maps to your interpolated random set.
 yes, when i say step i mean each step in x inside of NDSolve. I think i may have found an answer to this. Im posting it incase anyone else should ever find this and need help. The ?NumericQ prevents the expression simply getting replaced by RandomReal[]. rand[x_?NumericQ] := RandomReal[]; Solution = y /. Flatten[NDSolve[{y'[x] == .25 rand[x], y[0] == 1}, y, {x, -10, 10}, PrecisionGoal->0]]

## How do you update variables in NDSolve for each step?

You could also probably wrap it in an Evaluate[].