2010-08-20 2 views
0

나는 has n에 속하는 모델 티켓이 있습니다 (다 대다 관계).Datamapper, Sinatra, Haml : 게시 및 렌더링 게시물의 설명

문제는 어떤 주석도 렌더링 할 수 없으며 양식이 주석을 데이터베이스에 게시하지 않습니다.

irb에서 할 수 있습니다. ticket.comments에 의견을 추가 할 수는 있지만 개인적인 의견을 끌어낼 수는 없습니다. 컬렉션을 가져올 수는 있지만 그걸로 무엇을 할 수 있는지 알지 못했습니다. 그것은 클래스입니다 : DataMapper :: 협회 :: OneToMany :: 수집 및 문서는 "컬렉션은 모든면에서 배열처럼 행동한다"라고

그래서 읽기와 입력을 필요로하는 2 문제 :

1)에서 게시를 웹 양식 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

답변

1

을 끌어시나 방법을 작품

,515,

시나

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 

등, 등, 등. al.

관련 문제