descargar ruby-on-rails jbuilder

ruby-on-rails - jbuilder descargar



¿Cómo extraer todos los atributos con Rails Jbuilder? (4)

Añadiendo más a la respuesta de @uiureo.

Supongamos que su Notificación tiene algún tipo de cargadores de imágenes (por ejemplo, carrierwave, paperclip)

Entonces, la versión de abajo no te devolverá el objeto que subiste, así que, ¿cómo obtienes la url de la imagen?

json.merge! notification.attributes

notification.attributes es la conversión hash de un objeto, devolverá el valor de la columna del cargador montado, pero no la URL.

respuesta de muestra

notification: Object { title: "hellow world" img: "sample.png" }

En su lugar intenta esto

json.merge! notification.as_json

Esto devolverá la columna montada como otro objeto en el que puede consultar la URL.

respuesta de muestra

notification: Object { title: "hellow world" img: Object { url: "https://www.example.com/sample.png" } }

Es un dolor escribir códigos como este todo el tiempo en la plantilla jbuilder.json:

json.extract! notification, :id, :user_id, :notice_type, :message, :resource_type, :resource_id, :unread, :created_at, :updated_at

Así que me gustaría codificar así;

json.extract_all! notification

Descubrí que puedo hacerlo como los siguientes códigos, pero todavía son un poco largos para mí.

notification.attributes.each do |key, value| json.set!(key, value) end

¿Hay alguna forma mejor?


Estoy usando jbuilder 1.5.0 y fusionar! No funcionó pero encontré una sintaxis alternativa:

json.(notification, *notification.attributes.keys)