Ассоциация может быть не проблемой, но чтобы проверить, если это так, вы можете выполнить поиск объекта User, передав столбец user_id
из таблицы комментариев.Так, например: Отредактировано с помощью OP Предложенное исправление
class AddCommenterNameToComments < ActiveRecord::Migration
class Comment < ActiveRecord::Base
end
class User < ActiveRecord::Base
end
def self.up
add_column :comments, :commenter_name, :string
Comment.reset_column_information
#to update all comments with commenter name
Comment.all.each do |comment|
unless comment.is_system_message?
user = User.find_by_id(comment.user_id)
if user
comment.update_attribute(:commenter_name, user.name )
else
comment.update_attribute(:commenter_name, "User deleted" )
end
end
end
end
def self.down
remove_column :comments, :commenter_name
end
end
Теперь, после сказанного, проблема может заключаться в том, что у вас есть user_id в таблице комментариев, который больше не соответствует объекту User в таблице Users.Возможно, вы также захотите проверить это, если проблема не в ассоциации.