primero que hay que ver que el campo de entrada para ver que se cambia. Así, suponiendo que:
- el selector de almacenamiento tiene un id de 'almacenamiento'
- el selector de almacenamiento tiene el id del 'almacenamiento' como su valor
... se puede poner esto en su storage.coffee.js
archivo:
jQuery ->
$('select#storage').change ->
storage_id = $('option:selected',this).val()
$.get 'storages/' +storage_id+ '/orders.js'
Entonces, suponiendo que los pedidos se anidan debajo de almacenamiento, si su PeticionesController se ve así:
OrdersController < ApplicationController
def index
@storage = Storage.find(params[:storage_id])
@orders = @storage.orders
end
end
... y si usted tiene un parcial de app/views/orders/_order.html.erb
...
... y si usted tiene un div#orders
en su página que desea que los pedidos cayeron en ...
.. .then usted debería ser capaz de hacer un archivo app/views/orders/index.js.erb
así:
$('div#orders').html('<%= escape_javascript(render @orders) %>');
Esto debería hacer una copia de la parcial para cada instancia de los pedidos que pertenecen a un determinado almacenamiento y añadirlo a la dom después de la selector de almacenamiento
Lo que está sucediendo es: cuando se cambia el menú de selección, se activa una solicitud js GET en el índice de pedidos para el almacenamiento dado. Entonces esa solicitud automáticamente intentará servir una página index.js, con las variables de instancia establecidas en el controlador disponible para esa vista. El js en esa vista se ejecutará después de insertar el rubí interpolado, para que pueda usar funciones de rieles (como render @orders
) y luego la salida de esos se inyecta en el dom a través de $('div#orders').html('your rendered orders will be inserted in here by rails')
.
Claramente tendrás que modificar esto para que se ajuste a tu página, solo estoy adivinando qué elementos de tu página se llaman etc., pero este concepto básico debería funcionar bien. Hazme saber si tienes alguna pregunta.
Gracias por su respuesta, he usado rails 2.3.5 y prototipo y seguí el concepto. –