Hola compañeros, una consulta. Estoy iniciandome y tengo una pequeña aplicación
Tenemos una duda con Ruby. Hemos hecho una clase con un método para hacer la consulta, lo llamamos desde el controler y mostramos el resultado en la vista. Sé que los llamados están bien porque ya lo probamos y la consulta SQL también está probada.
El error que nos sales es que nos estada devolviendo un nil, pero no sabemos porque.
Creo que lo que nos falta es el mapeo del resultado de la consulta a la clase.
Modelo:
class ProjectTimeReport
class << self
def create_report
@report = ProjectTimeReport.find_by_sql "SELECT e.EMPNAME,t.TIMEACTDATE, t.TIMEACTDURATION, t.TIMEACTNOTE, t.TIMEACTTYPE, c.CUSJOBNAME
FROM TIMEACT t , CUSTOMERJOB c , EMPLOYEE e
WHERE t.TIMEACTJOB = c.CUSJOBLISTID AND
t.TIMEACTJOB = '3700000-1136566007' AND
t.TIMEACTEMP =e.EMPLISTID AND
t.TIMEACTDURATION <> 0
Order BY e.EMPNAME, t.TIMEACTDATE"
end
end
end
Control
def project_time_report
@report = ProjectTimeReport.new hola
@report.resource = "ruddy vargas"
#@employees = Employee.find(:all)
respond_to do |format|
format.html # project_time_report.html.erb
format.xml { render :xml => @report}
end
end
vista
<tr>
<td><%=h @report.EMPNAME %></td>
</tr>
El error:
Showing reports/projectTimeReport.html.erb where line #14 raised:
You have a nil object when you didn't expect it!
The error occurred while evaluating nil.EMPNAME
Extracted source (around line #14):
11:
12:
13: <tr>
14: <td><%=h @report.EMPNAME %></td>
15: </tr>
16:
17: