Я создал раздел комментариев для своих просмотров сообщений, и у меня есть remote: true
, работающий над формой, поэтому, когда вы нажимаете enter и отправляете ' новый комментарий "в базу данных, он обновляется в фоновом режиме (комментарий создается, страница не перенаправляет или не изменяет), но я не могу заставить его загружать комментарии на странице. Вы должны обновить страницу, чтобы увидеть их.Rails 4: перезагрузите страницу с помощью ajax после отправки удаленной формы другому контроллеру
Я мог бы сделать redirect_to :back
в контроллере комментариев после сохранения, но это приведет пользователя к верхней части страницы, а не останется на месте, чтобы увидеть комментарий.
Я пробовал render 'posts#show'
после сохранения комментария в контроллере комментариев, чтобы создать действие, но которое пытается отправить вас на /comments/posts/:slug/
. Если бы на самом деле это показало, что сообщения показывают действие, я думаю, что это сработает.
Комментарии контроллер:
class CommentsController < ApplicationController
before_action :find_commentable
def show
end
def new
@comment = Comment.new
end
def create
@comment = @commentable.comments.new comment_params
@comment.author = current_user if current_user
@comment.save
end
private
def comment_params
params.require(:comment).permit(:body, :author_id, :post_id)
end
def find_commentable
@commentable = Comment.find(params[:comment_id]) if params[:comment_id]
@commentable = Post.find_by_slug(params[:post_id]) if params[:post_id]
end
end
Раздел комментариев на пост-шоу зрения:
%ul#post-comments
= render 'comment_feed'
= form_for [@post, Comment.new], remote: true do |f|
= f.text_field :body, class: 'js-new-comment-field', placeholder: "Write a comment..."
сообщений/show.js.erb:
$("#post-comments").html("<%= escape_javascript render("comment_feed") %>");
routes.rb:
resources :posts do
collection do
match 'search' => 'posts#search', via: [:get, :post], as: :search # For ransack search
end
resources :comments
end
resources :comments do
resources :comments # Replies on comments
end
сделали вы получили решение? – uzaif
Пока еще немного не ближе. Я ничего не делаю на стороне сервера, поэтому, возможно, мне просто нужно выяснить, как ответить на запрос ajax с созданным им комментарием. Эта страница является полезной до сих пор http://guides.rubyonrails.org/working_with_javascript_in_rails.html –
, пожалуйста, загляните в свою сетевую вкладку, это поможет вам – uzaif