[Ror-es] desplegar elementos en list que no estan en la tabla

Faustino Vasquez ruby-forum-incoming at andreas-s.net
Fri Jul 20 00:27:19 GMT 2007


Aqui me tienen nuevamente molestando...

He venido haciendo un ejercicio ahora lo simplifique a tablas mas
pequeñas y tengo un problema al listar los valores

primero

tengo 2 tablas

user
CREATE TABLE `users` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(50) NOT NULL,
  PRIMARY KEY  (`id`)
)

groups

CREATE TABLE `groups` (
  `id` int(11) NOT NULL auto_increment,
  `nombre` varchar(30) NOT NULL,
  `value` varchar(2) NOT NULL,
  PRIMARY KEY  (`id`)
)


y una tercera que enlaza a las 2 tablas en una relacion n:n

groups_users

CREATE TABLE `groups_users` (
  `user_id` int(11) NOT NULL,
  `group_id` int(11) NOT NULL
)

con estos datos

(1, 1)
(1, 3)
(2, 2)
(2, 3)
(2, 4)
(3, 4)

hasta aqui todo va bien puedo crear elementos, editarlos, mostrarlos
pero al momento de hacer listarlos solo me muestra los elementos
correspondientes a una tabla...

y quisiera que en la lista aparecieran elementos de las 2 tablas en su
debida relacion

agregue esto en show.rhtml

<% for group in @user.groups%>
<%= group.group%><br>
<%end%>

y en el controlador ya tenia esto que lo habia hecho el scaffold

def list
@user = User.find(params[:id])
end

y puedo ver para cada uno de los usuarios que grupos son los que tienen
asignados


Pero en list es diferente, el controlador tiene esto

 def list
    @user_pages, @users = paginate :users, :per_page => 10
  end

como le puedo hacer aqui para que a cada usuario le pueda desplegar sus
grupos que tiene asignados

hice esto en el archivo list.rhtml

<% for user in @users %>
  <tr>
  <% for column in User.content_columns %>
    <td><%=h user.send(column.name) %></td>

    <td><%=h user.group.ids %></td>

    <td><%= link_to 'Show', :action => 'show', :id => user %></td>
    <td><%= link_to 'Edit', :action => 'edit', :id => user %></td>
    <td><%= link_to 'Destroy', { :action => 'destroy', :id => user },
:confirm => 'Are you sure?', :method => :post %></td>
  </tr>
<% end %>

esta linea
 <td><%=h user.group.ids %></td>

Y me muestra los indices de que estan en el arreglo group.ids pero lo
que quiero es desplegar los nombres de los grupos, en este caso
group.nombre

gracias por su respuesta.....

-- 
Posted via http://www.ruby-forum.com/.


More information about the Ror-es mailing list