Итак, я только вчера начал свой первый проект по рельсам. В моем приложении было два отношения «многие ко многим» (has_and_belongs_to_many). У меня было одно между моделями игр и команд и другое между моделями статистики и результатов. Все это работало просто отлично, создав таблицу соединений самостоятельно с миграцией.
Затем я решил, что не хочу, чтобы отношение статистика / результаты было многими ко многим, а что ко многим, поэтому я выполнил следующую миграцию и переключил отношения на has_many и own_to:
class FixingResultStatRelationship < ActiveRecord::Migration
def self.up
add_column :results, :stat_id, :integer
drop_table "results_stats"
end
def self.down
remove_column :results, :stat_id
create_table "results_stats", :id => false do |t|
t.column "result_id", :integer
t.column "stat_id", :integer
end
add_index "results_stats", "result_id"
add_index "results_stats", "stat_id"
end
end
Тогда, когда я делаю это, не только новые отношения один-ко-многим не работают, так как я получаю NoMethodError при вызове скажем Result.find (0) .stat, но теперь мои предыдущие рабочие отношения многие-ко-многим с игры и команды теперь тоже сломаны. Раньше я мог вызывать Game.fine (0) .teams просто находить и видеть результаты, и теперь я также получаю NoMethodError. Какие-нибудь мысли? Я совершенно заблудился, и любая помощь была бы отличной.