Похоже, что WinCacheGrind не может открыть вывод callgrind. Я не пробовал открывать вывод cachegrind, но он должен работать, я думаю. Со страницы Valkyrie (по состоянию на дату) «В настоящее время Valkyrie поддерживает только Memcheck, хотя ведется работа над Cachegrind и Massif».
По умолчанию в Rails столбец, используемый для хранения внешнего ключа модели, представляет собой имя ассоциации с добавленным суффиксом _id
. Параметр : foreign_key
позволяет вам напрямую установить имя внешнего ключа. Связи между модельными классами вашего сообщения
и комментария
должны выглядеть следующим образом:
class Post < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :post
end
- обратите внимание, что вам не требуется : class_name => "Post"
в вашей модели Comment
. У Rails уже есть эта информация. Вы должны указывать : class_name
и : foreign_key
только тогда, когда вам нужно переопределить соглашения Rails.
Вы правы, что Rails поддерживает отношения внешнего ключа за вас. Вы можете применить их на уровне базы данных, если хотите, добавив ограничения внешнего ключа.