Jquery ajax render partial view of rails

I have a successful jquery ajax like

success: function(data) {
    $('#someId').html(data);
}

I have a partial file in the name _information.html.erb

How to make my answer to the success of ajax for partial rails view ( information).

Most resources showing something like this

$('#holderDiv').empty().append('<ul> <%= j render @comments %> </li>')

But I did not feel comfortable with him. Any other way to solve it.

+4
source share
1 answer

UPDATE Here is more information in response to your comments.

First read this Javascript Rails Guide for more information.

update.js.erb - . , update.html.erb , response_to format.js update.js.erb( javascript) jquery.

update.js.erb javascript. javascript, ruby. ruby ​​ javascript.

Chrome, "" jquery-. AJAX, . , javascript.

update.js.erb, , javascript- .js.erb. - javascript. - ruby, javascript. , , , update.js.erb javascript.

, ...

:

1:

, jQuery ( ), update.js.erb, .

:

if @user.update_attributes(params[:user])
    respond_to do |format|
        format.html { redirect_to @user, notice: "Successfully updated user." }
        format.js
    end
else
    # ...
end

javascript, format.js response_to, update.js.erb.

update.js.erb:

console.log('see... this is a regular javascript call.');
<%= render partial: 'information', format: 'js' %>

2

:

$('#holderDiv').empty().append('<ul> <%= j render @comments %> </li>')

js.erb, ruby, javascript-. , :

:

def create
    user = User.new(params[:user])

    respond_to do |format|
        if @user.save
            @comments = 'some comments to display!'
            format.js
        else
            # ...
        end
    end
end

create.js.erb:

$('#holderDiv').empty().append('<%= j render @comments %>')
+8

All Articles