2010-08-20 73 views
0

我有一個模型票has n評論屬於它(多對一的關係)。Datamapper,Sinatra,Haml:附加和渲染來自帖子的評論

問題是我無法呈現任何評論,也沒有表單將評論發佈到數據庫。

我可以挺起來,從irb做到這一點。我可以爲tickets.comments添加評論,但我不能提出個別評論 - 我可以拉取收藏,但還沒有想出如何處理它。它是一個類:DataMapper的::協會::一對多::收集和文檔說「一件收藏品應該像在各方面都陣列」

所以2個問題需要閱讀和輸入:

1)可以發佈web表單 2)通過haml迭代並呈現集合,這似乎無法實現。

更多血淋淋的細節:

我有拉起

get '/:thisticket' do 
    @ticket=Ticket.first(:slug=>params[:slug]) 
    if @ticket 
     haml :showticket 

Haml的模板

%div{:class => "ticket"} 
%h1 
    = @ticket.slug 

= @ticket.comments.all    (returns the # symbol to any html page) 

- @ticket.comments.all do |comment| 
%h4 
    = comment.a_comment 
%h4 
    = comment.created_at 
%h4 
    = comment.id      (this block shows nothing on a rendered page) 

%center 
%form{:action => "/#{@thisticket.slug}/update", :enctype => "text/plain", :method => "post"} 
comments 
%br/ 
%textarea{:id => "a_comment",:name => "a_comment", :rows => "5"} 
:preserve 
%br/ 
%input{:type => "submit", :value => "post"}/ 
+0

在這一點上,我意識到這種方法可能不是我需要做的,但它似乎最初是一種恰當的方法。 – none 2010-08-20 18:11:22

回答

1

對於任何關注或具有相同一西納特拉方法:

這作品

get '/:thisticket' do 
    @ticket=Ticket.first(:thisticket=>params[:thisticket]) 
    @[email protected](:order => [ :created_at.desc ]) 
    if @ticket 
     haml :showticket 

Haml的

@comments.each do |comment| 
comment.comment 

等,等,等。人。