Ho bisogno di fare due associazioni nello stesso modello. Dove:Come fare has_many e has_one nello stesso modello?
squadrahas_many
utente Ora, voglio che squadrahas_one
leader
Questa "Leader" sarà un utente
Im cercando di utilizzare has_one throught
ma penso quell'associazione non è lavoro.
Leader.rb
class Leader < ActiveRecord::Base
belongs_to :user
belongs_to :team
Team.rb
class Team < ActiveRecord::Base
has_one :user, through: :leader
end
User.rb
class User < ActiveRecord::Base
belongs_to :team
has_one :captain
end
e ottenere seguente errore attorno alla riga 27:
NoMethodError in TeamsController#create
26 def create
**27 @team = current_user.teams.create(team_params)**
28 @team.save
29 respond_with(@team)
30 current_user.update(team_id: @team.id)
Un utente può essere presente in più team o in una sola squadra? – nathanvda
perché 'current_user' è un utente, non un leader/capitano, perché il tuo metodo funzioni è necessario 'current_user. (Leader/capitano) .teams.create (team_params)', controlla anche le tue associazioni, è leader o è Capitano –