2010-08-20 72 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 

等,等,等。人。