質問: Railsのコントローラのparamsはどこから来ているのですか?正体は一体何なのですか? 私の現時点での考えを述べます。 メソッドには見えないので、変数だと思います。そして、先頭が小文字の英字で始まっているのでローカル変数でしょう。 しかし、ローカル変数なら、メソッド内のどこかで宣言と代入がされているはずですが、それは見えません。 paramsは一体どこでセットされているのですか? なお、本質問はparamsにどのような値が入っているかを質問するものではありません。なので、"GETやPOSTで渡されたパラメータが入っている"といった回答は期待していません。
回答: `params`は`ActionController::Metal`で定義された**メソッド**です。 Railsにかぎらず、Rubyではメソッドとローカル変数の見分けがつきにくいですが、(`Binding`をとったり`eval`したりして無理やり書き換える、なんてことをしなければ)コードに書かれていないローカル変数が発生することはありません。