¿Cómo se transfieren los datos de un controlador a un modelo?¿Cómo se pasan los datos de un controlador a un modelo con Ruby on Rails?
En mi application_controller
agarro la ubicación del usuario (estado y ciudad) e incluyen un before_filter
para que sea accesible en todos mis controladores vía
before_filter :community
def community
@city = request.location.city
@state = request.location.state
@community = @[email protected]
end
Entonces trato añadir los datos recuperados en el controlador para el modelo a través de:
before_save :add_community
def add_community
self.community = @community
end
Los datos, sin embargo, nunca pasan del controlador al modelo. Si utilizo:
def add_community
@city = request.location.city
@state = request.location.state
@community = @[email protected]
self.community = @community
end
Los métodos request.location.city
y request.location.state
no funcionan a partir del modelo. Sé que todo lo demás está funcionando porque si defino @city
y @state
como cadenas, bajo def_community
, todo funciona, excepto que no tengo una variable dinámica, solo una cadena colocada en el modelo. Además, sé que las solicitudes están funcionando en el controlador/vistas, porque puedo hacer que muestren la información dinámica adecuada. El problema es simplemente obtener los datos del controlador para el modelo. Muchas gracias por su tiempo.
sugiero que elimine esta cuestión o su otro uno, ya que son esencialmente los mismos. La próxima vez, si quiere aclarar las cosas, puede simplemente editar su pregunta original: http://stackoverflow.com/questions/10236645/getting-methods-that-work-in-controller-views-to-function-in -a-model-ruby-on-ra – tsherif
¡Bienvenido a StackOverflow! Recuerde votar todas las respuestas que le parezcan útiles, incluidas las respuestas a las preguntas de los demás. "Marque" (seleccione) la mejor respuesta a sus preguntas. –