Ruby on Rails - Как связать модель комментариев с блогом без базы данных
Я использую самоцвет postmarkdown для создания блога в RoR. Модель Post в геме не поддерживается базой данных (она использует ActiveModel). Как бы я мог связать модель комментариев с моделью постов для блога, который не использует базу данных для постов блога?
Например, с типичным блогом, поддерживаемым базой данных ActiveRecord, я мог бы установить отношения (такие как)
class Post < ActiveRecord::Base
has_many :comments
Однако в этом случае я не знаю лучшего способа создания модели комментариев.
1 ответ
Если Post является активной моделью, вы не можете установить отношения, используя методы в activerecord. Вы можете проверить README на github. У него нет такой функциональности.
Один из способов - просто определить свои собственные методы внутри модели Post.
class Post
def comments
Comment.where(:post_id => id)
end
end
class Comment < ActiveRecord::Base
def post
Post.find_by_id(post_id)
end
end
Изменить: Ах, я просто нахожу аналогичный вопрос, Ruby on Rails 3 (3.1) Ассоциации ActiveModel (вложенные модели без таблиц). Вы также можете проверить это.