Моя :post
модель является родительской моделью. Внутри поста много комментариев. И комментарии могут иметь гораздо больше комментариев и так далее. Я думал, что у меня было это право, но я должен был набрать:
Comment.last.comments
Я получаю:
NoMethodError: undefined method `comments' for #<Comment:0x1053a1ff0>
Мои модели:
#comment.rb
belongs_to :post
belongs_to :parent, :class_name => 'Comment'
has_many :children, :class_name => 'Comment'
validates_presence_of :text
#post.rb
has_many :comments
accepts_nested_attributes_for :comments, :allow_destroy => true
Моя миграция
class CreateComments < ActiveRecord::Migration
def self.up
create_table :comments do |t|
t.text :text
t.integer :post_id
t.integer :comment_id
t.timestamps
end
end
def self.down
drop_table :comments
end
end