#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
вместо Railsimage_tag
, ссылка