我有一张模型票据has n
评论属于它(多对一关系)。
问题是我无法呈现任何评论,表格也不会将评论发布到数据库。
我可以从irb那样做。我可以为ticket.comments添加评论,但我无法提取个人评论 - 我可以提取集合,但还没弄明白如何用它做任何事情。它是一个类:DataMapper :: Associations :: OneToMany :: Collection和文档说“一个集合应该像各种各样的数组一样”
所以需要阅读和输入的2个问题:
1)从网络表单发布 2)迭代并通过haml渲染集合,我似乎无法做到。
更多血腥的细节:
我有一个提升的Sinatra方法
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 :(得分:1)
对于任何关注或拥有相同内容的人:
这有效
屈
get '/:thisticket' do
@ticket=Ticket.first(:thisticket=>params[:thisticket])
@comments=@ticket.comments.all(:order => [ :created_at.desc ])
if @ticket
haml :showticket
Haml的
@comments.each do |comment|
comment.comment
等等,等等。人