Pregunta

Estoy utilizando el "in_place_editing" plugin para los carriles de prestar un formulario con ediciones en el lugar. trabajo fino cosa, siempre y cuando la plantilla por defecto es elegido por los carriles (ningún método 'render' se invoca dentro del controlador), pero se descomponen cuando trato de rendir un parcial usando "render: parcial => 'partial_name'" llamada. Es este un problema conocido (in_place_edit no funciona con parciales?) O me estoy perdiendo algo? Estoy recibiendo el siguiente error al intentar mostrar el parcial:

Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
.../vendor/plugins/in_place_editing/lib/in_place_macros_helper.rb:74:in `in_place_editor_field'
¿Fue útil?

Solución

no proporcionan suficiente información ni de lejos en su pregunta, dando sólo dos líneas de la traza y no hay fragmentos de la vista, que hace el trabajo, o la parcial que no lo hace. Esto significa que cualquier intento de respuesta usted debe basarse en gran medida en conjeturas. Dicho esto, el ayudante de editor in situ es sólo un método de ayuda como cualquier otro, nada especial. Se le puede llamar desde casi cualquier componente de vista. Es muy probable que la forma en que ese punto de vista es incluida por el controlador, o de hecho una vista padre, no es la razón por la que está fallando.

El método de ayuda se queja de un valor nil. Esto significa que lo más probable, su parcial invoca in_place_editor_field y pasándolo valores que no están definidos en el parcial. Compruebe para asegurarse de que no está utilizando las variables locales que no están definidas, en comparación con los utilizados en la vista en la que trabaja su llamada in_place_editor_field; comprobar para asegurarse de que no está pidiendo diferentes variables de instancia también. Con toda probabilidad encontrará los puntos de vista que el trabajo utilizan el nombre de una variable, mientras que el parcial se ha tratado de hacer que está utilizando otro.

El mecanismo render :partial => ... admite diferentes formas de pasar explícitamente en valores a la parcial; usted puede optar por utilizar estos para aclarar su código. Ver las opciones :locals y :object para la sección "Rendering parciales" de la documentación rendir en la API de rieles en:

Otros consejos

Estoy trabajando en un proyecto de mantenimiento que está en los carriles 2.3.8. Y este problema se comió un montón de mi tiempo

En la vista, cambiar la vista para tener una variable de instancia:

@batch = batch 

in_place_editor_field  :batch, 'priority'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top