Это ломается, потому что вы ссылаетесь на Profile::ProfileNotification
, который не существует.
Rails считает, что это модель с именем ProfileNotification
, расположенная в пространстве имен Profile
, но ваш комментарий предполагает, что Profile
- это другой класс модели, а не пространство имен.
На основе миграциивы уже написали, я думаю, вы не уверены в соглашении об именах Rails для отношений один-ко-многим.Вот как я думаю, это должно выглядеть:
class CreateNotifications < ActiveRecord::Migration
def self.up
create_table :notifications do |t|
t.references :profile
t.text :body
t.boolean :checked, :default => false
t.boolean :update_reply, :default => false
t.boolean :opinion_reply, :default => false
t.boolean :message_reply, :default => false
t.boolean :pm, :default => false
t.boolean :accepted_friend, :default => false
t.boolean :accepted_supporter, :default => false
t.timestamps
end
end
def self.down
drop_table :notifications
end
end
class Profile < ActiveRecord::Base
has_many :notifications
end
class Notification < ActiveRecord::Base
belongs_to :profile
end
Теперь, когда вы выполните Profile.find(1).notifications
, вы должны получить список связанных уведомлений для этого профиля.
Дополнительная информация: Ассоциации активных записей