Ruby on Rails: Публикуйте и отображайте изображение без обновления страницы

#ruby-on-rails

Вопрос:

Сценарий: Пользователь напишет новый пост с текстом с изображением.

Ожидание: Сообщение должно быть создано без обновления страницы. Он должен отображать как текст, так и изображение.

Актуально: Сообщение было создано без обновления страницы, но на нем отображается только текст и никакого изображения. Изображение будет отображаться при обновлении страницы

Вопрос: Как я могу отобразить изображение в сообщении, не обновляя страницу?

Дополнительная информация: Я использую carrierwave для загрузчика и cloudinary в качестве облачного хранилища

Спасибо, что ответили!

posts_controller.rb

 def create
  @post = current_user.posts.build(post_params)
  respond_to do |format|
    if @post.save
      format.html { redirect_to posts_path }
      format.js
    else
      format.html { redirect_to posts_path, status: :unprocessable_entity }
      format.json { render json: @post.errors, status: :unprocessable_entity }
    end
  end
end
 

создать.js.haml

 :plain
  $("#post-display").prepend("#{escape_javascript( render partial: "all_posts/display", locals: { post: @post })}");
 

all_post/_display.html.haml

 ...
.post-user-image
  - if post.user.profile_pic.present?
    = image_tag post.user.profile_pic.url, class: "img img-fluid img-thumb"
  - else
    = image_tag "/default-user.jpg", class: "img img-fluid img-thumb"
...
 

Комментарии:

1. я думаю , вам следует использовать вспомогательный метод Cloudinary cl_image_tag вместо Rails image_tag , ссылка