Я изучал рельсы, и я наткнулся на одну проблему с отношениями. У меня есть ассоциация «многие ко многим» «Пользователь-турнир», и по какой-то причине я не могу получить доступ к участникам_турниров в экземплярах пользователя или не могу получить доступ к участникам в экземплярах турнира.
2.0.0-p643 :001 > Tournament.new.participants
NoMethodError: undefined method `to_sym' for nil:NilClass
from /home/marcin/.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.1.8/lib/active_record/reflection.rb:100:in `_reflect_on_association'
from /home/marcin/.rvm/gems/ruby-2.0.0-p643/gems/activerecord-4.1.8/lib/active_record/reflection.rb:537:in `source_reflection'
Пользовательская модель
class User < ActiveRecord::Base
has_many :participants_tournaments
has_many :participated_tournaments, :through => :participants_tournaments
end
Турнирная модель
class Tournament < ActiveRecord::Base
has_many :participants_tournaments
has_many :participants, :through => :participants_tournaments
end
УчастникиТурнирная модель
class ParticipantsTournament < ActiveRecord::Base
belongs_to :tournament
belongs_to :user
end
УчастникиТурнирный перенос
def change
create_table :participants_tournaments, :id => false do |t|
t.integer "tournament_id",
t.integer "user_id"
end
end
Я прочитал: Эта тема на SO, также эта тема и смотрел/читал этот рельсовый эфир, но я не могу заставить его наконец работать.
t = Tournament.new
, а затемt.participants
? - person sixty4bit   schedule 26.03.2015:id => false
при миграции. - person maxhungry   schedule 26.03.2015