Загрузка ресурсов рельсов после загрузки страницы с использованием jquery - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть приложение rails, которое использует шаблоны Rails, и я обычно возвращаю свои данные через действия контроллера с @profile.

Однако у меня есть страница, для которой я не хочу увеличивать загрузку страницы, поэтому вместо возврата @related_profiles я загружаю страницу и использую jQuery для вызова другого API для загрузки @related_profiles,

Просмотр:

<header class="media">
  <figure class="media-left">
    <%= image_tag('icon-temp_profile.png', :alt => 'Avatar', :class => 'u-img', :height => '40',  :id => 'other-profile-photo-3') %>
  </figure>

  <div class="media-body">
    <strong class="mr2" id="other-profile-name-3">NAME</strong> <span class="u-inlineBlock"></span>
    <span class="u-block  u-textSmall  u-textMuted" id="other-profile-school-3">
      SCHOOL
    </span>
  </div>
</header>

Теперь я использую jQuery для обновления некоторых связанных полей профиля, таких как имя, школа и т. Д. Однако я хочу заменить изображение профиля по умолчанию, но из-за этогоизображение подается с S3, я не знаю его URL.

У меня есть имя файла, но нет URL, и поскольку страница уже загружена, я не могу сделать:

someAssetPath = "<%= asset_path('#{other_profile.profile_picture_file_name}') %>"
$('#other-profile-photo-3').attr( "src" , someAssetPath )

Контроллер:

def endorsements
  other_profiles = OtherProfileServices::SuggestedProfilesFetcher.fetch(current_user.id)

  return render json: other_profiles
end

Какое здесь лучшее решение?Могу ли я как-нибудь получить asset_path и передать его?Должен ли я использовать библиотеку шаблонов?Так какой из них самый легкий?

...