我有以下哈希(@messages),该哈希(@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提交表格,并将新的答复文本添加到一组消息的末尾,因此页面不必每次发送回复时都需要刷新
我如何参考哪一组消息将新答复添加到循环循环时?
?示例如果我想回复汤姆并填写他的答复表格,我该如何附加到那组消息而不是杰里的消息?
?我失败的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>
我可能会将 ajax:success
绑定到形式本身而不是 #container
(不在问题中)。那么t就像
$(this).before(...)