[Ror-es] @comercial.empresas.provincias : undefined method
Xavier Noria
fxn at hashref.com
Mon Nov 27 21:10:16 GMT 2006
On Nov 27, 2006, at 4:55 PM, lamacarena wrote:
> <% for provincia in @comercial.empresas.provincias %>
> <%= provincia.nombreprovincia %>
> (<%= (provincia.count)%>)
> <% end %>
>
> pero me da error en la primera linea:
> undefined method `provincias' for Empresa:Class
Yep, ocurre que empresas es una coleccion. Cada empresa tiene una
provincia asociada, pero la coleccion de las empresas de un
@comercial como tal no.
Has de ir empresa a empresa:
<% provincias = @comercial.empresas.map {|e| e.provincia} %>
<% for provincia in provincias %>
...
<% end %>
Si pudieran haber provincias repetidas y no quisieras duplicados solo
hay que añadir uniq (no es necesaria ordenacion):
<% provincias = @comercial.empresas.map {|e| e.provincia}.uniq %>
Aunque ese codigo suena a "mucho Ruby" para una vista a priori,
habria que ver si no toca al controlador calcular eso y pasarlo a la
vista mas mascado. Eso ya eres tu quien mejor puede valorarlo segun
los detalles.
-- fxn
More information about the Ror-es
mailing list