У меня есть приложение 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 и передать его?Должен ли я использовать библиотеку шаблонов?Так какой из них самый легкий?