Ich habe einen Kommentarbereich für meine 'Beiträge' Ansichten und ich habe remote: true
arbeiten auf dem Formular, so dass, wenn Sie die Eingabe und senden ' Neues Kommentar 'Formular zur Datenbank, es aktualisiert sich im Hintergrund gut (der Kommentar ist erstellt, Seite nicht umleiten oder ändern), aber ich kann es nicht bekommen, um die Kommentare auf der Seite zu laden. Sie müssen die Seite aktualisieren, um sie zu sehen.Rails 4: Reload Seite mit Ajax nach dem Senden Remote-Formular an einen anderen Controller
Ich könnte redirect_to :back
in den Kommentar-Controller nach dem Speichern tun, aber das dauert Benutzer an den Anfang der Seite, anstatt zu bleiben, um den Kommentar angezeigt zu sehen.
Ich habe versucht, render 'posts#show'
nach dem Speichern des Kommentars in den Kommentar-Controller erstellen Aktion, aber das versucht, Sie an /comments/posts/:slug/
senden. Wenn es tatsächlich die Posts zeigen Aktion würde ich denke, das würde funktionieren.
Kommentare Controller:
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
Kommentar Abschnitt Ansicht Post zeigen:
%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..."
Beiträge/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
haben Sie bekam Lösung? – uzaif
Noch nicht, aber ein bisschen näher. Ich mache keine Server-Seite, also muss ich vielleicht herausfinden, wie ich auf die Ajax-Anfrage mit dem erstellten Kommentar reagieren soll. Diese Seite ist soweit hilfreich http://guides.rubyonrails.org/working_with_javascript_in_rails.html –
Bitte schauen Sie in Ihrem Netzwerk-Tab wird es Ihnen helfen – uzaif