У меня есть образец билета, к которому has n
относятся комментарии (отношение "многие к одному").
Проблема в том, что я не могу отображать какие-либо комментарии, и форма не отправляет комментарии в базу данных.
Я могу вроде как сделать это из irb. Я могу добавлять комментарии в Tickets.comments, но я не могу вытащить отдельные комментарии - я могу вытащить коллекцию, но не понял, как с ней что-то делать. Это Class: DataMapper :: Associations :: OneToMany :: Collection, и в документации сказано: «Коллекция должна действовать как массив во всех смыслах».
Итак, 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"}/