0
我的: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
條
對於嵌套設置+1 - 請參閱:http://github.com/collectiveidea/awesome_nested_set – zetetic 2010-10-17 21:45:14
謝謝你們。 @zetetic,因爲它的冗長,我被插件嚇倒了。但我發現瑞恩貝茨再次與這一個打擊:http://railscasts.com/episodes/163-self-referential-association。看起來像是對C0r0ner建議的引用。謝謝 – Trip 2010-10-18 11:18:33
那就對了。意識到選擇無限深度的評論的所有孩子將是真正的痛苦。所以如果你確實需要無限制的評論嵌套使用嵌套設置冗長冗長 – Sigurd 2010-10-20 11:46:29