Вам нужно изменить render layout: false
на render 'show.js.haml', layout: false
def show
@artist= Artist.find(params[:id])
@updates = @artist.updates.order(created_at: :desc)
@reach = @artist.reachupdates.order(created_at: :desc)
@reach_diff= Reachupdate.last_week_diff(@artist.id)
respond_to do |format|
format.html
format.js {render 'show.js.haml', layout: false}
end
end
Обновление:
Следующая проблема, которую я имею, заключается в том, чтобы вставить объекты ruby в файл js
Если файл 'articles/show'
представляет собой частичный файл , то проблема заключается в том, что для работы необходимо использовать ключевое слово locals
вместе с ключевым словом partial
. Попробуйте изменить это
$("#main").html("#{escape_javascript(render 'artists/show', locals: {artist: @artist, updates, @updates, reach: @reach, reach_diff: @reach_diff})}");
до
$("#main").html("#{escape_javascript(render partial: 'artists/show', locals: {artist: @artist, updates, @updates, reach: @reach, reach_diff: @reach_diff})}");
или
Просто удалите locals
$("#main").html("#{escape_javascript(render 'artists/show', artist: @artist, updates, @updates, reach: @reach, reach_diff: @reach_diff)}");