【发布时间】:2014-01-28 16:48:02
【问题描述】:
我有以下散列 (@messages),它们是按发件人/发件人分组的消息:
{'Tom'=>[#<ShortMessage id: 16, content: "ABC", created_at: "2014-01-28 16:35:33", from: 'Tom'>, #<ShortMessage id: 15, content: "DEF", created_at: "2014-01-28 13:11:20", from: 'Tom'>], 'Jerry'=>[#<ShortMessage id: 5, content: "XYZ", created_at: "2014-01-22 09:48:52", from: 'Jerry'>]}
在我看来,我循环遍历哈希以打印出发件人姓名和他们的消息组。我还为每组消息提供了一个表单,用户可以在其中回复该特定发件人
<% @messages.each do |sender, message| %>
<p><%= sender %></p>
<% message.each do |msg| %>
<p><%= msg.content %></p>
<% end %>
// reply form
<%= form_for @message, remote: true do |f| %>
<%= f.hidden_field :from, value: from %>
<%= f.text_field :content %>
<%= f.submit "Reply" %>
<% end %>
<% end %>
我正在使用 ajax 和 jquery 提交表单并将新的回复文本添加到消息组的末尾,因此每次发送回复时页面都不必刷新
当循环遍历哈希时,我如何引用哪一组消息来附加新的回复?
例如,如果我想回复 Tom 并填写他的回复表单,我该如何附加到那组消息而不是 Jerry 的?
我不成功的 jquery 看起来像这样:
<script>
$('#container').on('ajax:success', function(event, data){
if (data.succ) {
// handle your success somehow, like show a new field
} else {
// something went wrong
}
})
</script>
【问题讨论】:
标签: jquery ruby-on-rails ruby ajax