Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

157
Vistas
Falta la plantilla de vista de acción en RoR 5 al llamar a la variable de instancia desde el controlador

Intentando generar una lista de tareas pendientes con Ajax a través de Ruby on Rails. Aquí está el fragmento index.html.erb:

 <div class="row"> <div class="col-md-7 col-md-offset-1" id="tasks"><%= render @tasks %></div> </div>

El error surge cuando llega render @tasks. El mensaje dice "Faltan tareas parciales/_tarea"

Mi controlador declara que @tasks = Task.all de la siguiente manera

 class TasksController < ApplicationController before_action :all_tasks, only: [:index, :create] respond_to :html, :js def index @tasks = Task.all end def new @task = Task.new end def create @task = Task.create(task_params) end private def all_tasks @tasks = Task.all end def task_params params.require(:task).permit(:description, :deadline) end end

No estoy seguro de cuál es el problema en esta situación.

Cualquier ayuda apreciada.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Está solicitando una tarea parcial dentro de su carpeta de app/views/tasks .

Para usar o imprimir @tasks , simplemente llame a úselo en su vista usando Ruby dentro de sus vistas como <%= ruby_code %>

De forma predeterminada, los controladores en Rails representan automáticamente las vistas con nombres que corresponden a las acciones, lo que significa que si usa <%= render @tasks %> , Rails intentará encontrar algunas tasks llamadas parciales dentro de la carpeta principal que está imprimiendo la vista actual.

También he visto que está asignando el doble del valor de @books en su método index , si está usando before_action :all_tasks en su index , entonces no necesita "volver a declararlo".

Prueba con:

 # app/views/index.html.erb <div class="row"> <div class="col-md-7 col-md-offset-1" id="tasks"> <%= @tasks %> </div> </div> # app/controllers/tasks_controller.rb class TasksController < ApplicationController before_action :all_tasks, only: [:index, :create] respond_to :html, :js def index end def new @task = Task.new end def create @task = Task.create(task_params) end private def all_tasks @tasks = Task.all end def task_params params.require(:task).permit(:description, :deadline) end end
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda