سؤال

How can I render a `.each do block in a js partial in Rails?

In my messages.js.erb file, I currently have:

<% @conversations.each do |convo| %>
    <%= j render "message_listing", convo: convo %>
<% end %>
$('#conversations-body-container').append(
    // APPEND RESULTS OF PREVIOUS .EACH DO RENDER
);

How can I go about appending the first block of code in my HTML using j render?

هل كانت مفيدة؟

المحلول

You could do like below:

<% @conversations.each do |convo| %>
    $('#conversations-body-container').append('<%= j render "message_listing", convo: convo %>');
<% end %>

Or

<% @conversations.each do |convo| %>
    $('<%= j render "message_listing", convo: convo %>').appendTo('#conversations-body-container');
<% end %>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top