2010-12-15 31 views
11

utilizo params en mi controlador de la siguiente manera:Rieles: ¿Dónde se define "params"?

class ProductsController < ApplicationController 
    def create 
    @product = Product.new(params[:aircon]) 
    ... 
    end 
end 

Es params un atributo de ApplicationController? Supongo que no, porque no tiene el prefijo @. Entonces, ¿qué es realmente params? ¿Puedo usarlo en cualquier método personalizado en ProductsController?

Respuesta

10

Se define en ActionController :: Metal. ApplicationController hereda de ActionController :: Base, que pertenece a ActionController :: Metal. Si observa la API de Rails en http://api.rubyonrails.org/, encontrará que params es solo una función que devuelve los parámetros del objeto request.

7

Los parámetros se están analizando en el middleware llamado ActionDispatch::ParamsParser. La función params en ActionController::Metal es un contenedor para esto.

Cuestiones relacionadas