Je suis confronté à un problème étrange; J'essaie d'afficher toutes les tâches associées à un membre du personnel, et il y a une erreur que je ne comprends pas:Afficher les éléments d'une table de jointure
- Je ne peux accéder à l'ID de la tâche
Mon Code =
indice du personnel:
<% @staffs.each do |staff| %>
<tr>
<td>
<%= link_to staff.name, staff %>
</td>
<%staff.tasks.each do |task| %>
<td>
<%= task.id %>/
</td>
<%end%>
</tr>
<% end %>
contrôleur du personnel:
class StaffsController < ApplicationController
before_action :authenticate_user!
skip_before_action :configure_sign_up_params
before_action :set_staff, only: [:show, :edit, :update, :destroy]
# GET /staffs
# GET /staffs.json
def index
@staffs = current_user.staffs
end
private
# Use callbacks to share common setup or constraints between actions.
def set_staff
@staff = Staff.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def staff_params
params.require(:staff).permit(:name, :user_id)
end
end
modèle du personnel:
class Staff < ActiveRecord::Base
has_one :user
has_many :ranches_staff
has_many :ranches, through: :ranches_staff
has_many :staffs_task
has_many :tasks, through: :staffs_task
accepts_nested_attributes_for :tasks, :allow_destroy => true
end
Pouvez-vous ajouter l'erreur que vous obtenez? Peut-être ajouter le modèle Staff aussi. – Ursus
Salut @Ursus, merci pour votre réponse, Mon erreur est: méthode non définie name » pour # J'ai ajouté le personnel de modèle dans mon post –