Como fazer um join
Bom dia,
Desenvolvo em PHP há algum tempo e estou começando a estudar ruby.
Depois de muito ler, ainda não consegui fazer um simples join da tabela turmas e alunos.
Minha aplicação é simples, vou passar a estrutura das tabelas.
Turma Aluno
id_turma(PK) id_aluno (PK)
serie_turma id_turma (FK)
nome_aluno
Preciso exibir o id do aluno, o nome do aluno e a serie da turma dele.
Como posso fazer um join para trazer a serie da turma e exibi-la na grid?
model aluno
class Aluno < ActiveRecord::Base
belongs_to :turma
validates :matricula_aluno, uniqueness: true
end
controller aluno
def show
end
partial da view
<div class="control-group">
<%= f.label :codigo_turma_aluno, :class => 'control-label' %>
<div class="controls">
<%= f.number_field :codigo_turma_aluno, :class => 'text_field' %>
</div>
</div>
index view
<%- model_class = Aluno -%>
<div class="page-header">
<h1><%=t '.title', :default => model_class.model_name.human.pluralize.titleize %></h1>
</div>
<%= link_to t('.new', :default => t("helpers.links.new")),
new_aluno_path,
:class => 'btn btn-primary' %>
<p> </p>
<table class="table table-striped">
<thead>
<tr>
<th><%= model_class.human_attribute_name(:matricula_aluno) %></th>
<th><%= model_class.human_attribute_name(:nome_aluno) %></th>
<th><%= model_class.human_attribute_name(:codigo_turma_aluno) %></th>
<th><%=t '.actions', :default => t("helpers.actions") %></th>
</tr>
</thead>
<tbody>
<% @alunos.each do |aluno| %>
<tr class='<%= aluno.matricula_aluno %>'>
<td><%= link_to aluno.matricula_aluno, aluno_path(aluno) %></td>
<td><%= aluno.nome_aluno %></td>
<td><%= aluno.codigo_turma_aluno %></td>
<td>
<%= link_to t('.edit', :default => t("helpers.links.edit")),
edit_aluno_path(aluno), :class => 'btn btn-mini' %>
<%= link_to t('.destroy', :default => t("helpers.links.destroy")),
aluno_path(aluno),
:method => :delete,
remote: true,
:data => { :confirm => t('.confirm', :default => t("helpers.links.confirm", :default => 'Are you sure?')) },
:class => 'btn btn-mini btn-danger' %>
</td>
</tr>
<% end %>
</tbody>
</table>Discussão (10)
Carregando comentários...