Not necessarily. The params object is just a hash. There is no reason
why you can’t or shouldnt pass a configuration hash to a method. I do
something similar quite often. One instance I find myself working with
is XML API’s that I must generate. Many options are available on the
query string. To handle this I use a pattern similar to the example
below:

assemble a bunch of named scopes based on opts

You’re passing unnecessary knowledge to your model.
It definitely doesn’t need to know the controller and/or the action
it’s being called from. And this information is by default in the
params hash of any given controller action.
Thus, it’s considered a bad practice - bad design. Your objects should
assume as little as possible about any other structure on your
application.