Question

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?

Was it helpful?

Solution

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 %>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top