我很努力地掌握編寫模型方法的基礎知識,這是我認爲我需要做的才能使其發揮作用。基本上,我有一個項目視圖,顯示屬於該項目的project_todos。然後嵌套,我有project_todo_comments屬於project_todo。所有在一個視圖。Rails - 在一個視圖中嵌套3個模型
我已經建立了關聯,以便項目has_many
project_todos,project_todo belongs_to
project和has_many
project_todo_comments。那麼當然project_todo_comment belongs_to
project_todo。
在項目控制器,我這樣做:
def show
@project = Project.find(params[:id])
# Display the form to create a new todo
@project_todo = ProjectTodo.new
# Create the instance variable to display the loop in the view
@todos = @project.project_todos
# Display the form to create a new comment
@project_todo_comment = ProjectTodoComment.new
# Create the instance variable to display the loop in the view
@comments = @project.project_todo_comments
respond_to do |format|
format.html # show.html.erb
format.json { render :json => @project }
end
end
所以這是工作的地步,我可以在一個項目中添加待辦事項,並顯示他們,我還可以添加註釋到項目待辦事項並以同樣的視角展示它們。但是,我只能在與他們關聯的待辦事項中顯示評論時遇到困難。現在,當我在任何待辦事項上添加評論時,每一個待辦事項都會顯示該評論。
在視圖中,這裏的地方我顯示project_todos和嵌套形式添加註釋,然後顯示評論:
3210我被告知,我需要寫一個模型的方法爲了讓這個工作,但我仍然試圖理解這些。任何人都可以放心,我確實需要寫一個模型方法,並指出我瞭解它們的方向?謝謝!
但是然後評論是不確定的。應該是'''<%todo.project_todo_comments.each do | comment | %>'''而不是? –
你說得對,我糾正了我的答案,我被竊聽,導致這些類名稱有點長。 – p1100i
嗯沒關係。所以我在做這些時沒有任何錯誤,但是現在根本不顯示評論,即使我添加了新的評論和新評論。我想我不明白當你拿出控制器的'''@ comments'''實例變量時它是如何工作的。它現在如何訪問模型?僅僅是因爲has_many belongs_to協會? –