Определение отношений внешнего ключа для моделей направляющих

Похоже, что WinCacheGrind не может открыть вывод callgrind. Я не пробовал открывать вывод cachegrind, но он должен работать, я думаю. Со страницы Valkyrie (по состоянию на дату) «В настоящее время Valkyrie поддерживает только Memcheck, хотя ведется работа над Cachegrind и Massif».

53
задан Welbog 24 June 2009 в 03:05
поделиться

1 ответ

По умолчанию в 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 поддерживает отношения внешнего ключа за вас. Вы можете применить их на уровне базы данных, если хотите, добавив ограничения внешнего ключа.

75
ответ дан 7 November 2019 в 08:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: