Я пытался выяснить, добавлять комментарии без перезагрузки страницы с помощью Ajax, прочитав несколько различных учебников это то, что я пришел к до сих пор, и это не работает:Нужно ли мне перезагрузить объект комментария или частичное, содержащее комментарий, в случае использования Ajax в Rails 3?
внутри user_comments/_comments.html.erb
<div id="comment_form">
<%= simple_form_for [@commentable, @comment], :html => { :multipart => true }, :remote => true do |f| %>
<div class="picture"><%= image_tag current_user.avatar.url(:thumb) %></div>
<%= f.input :content, label: false, :placeholder => "Add Comment", :input_html => { :rows => 4 } %>
<%= f.submit "Add Comment" %>
<% end %>
</div>
внутри контроллера:
def create
@users = User.all
@comment = @commentable.user_comments.new(params[:user_comment])
@comment.user_id = current_user[:id]
#@commentable.user_comments.create(:user_id => current_user[:id])
if @comment.save
flash[:notice] = "Successfully created comment."
respond_to do |format|
format.html { redirect_to @commentable }
format.js
#format.js #{ render 'create.js.erb' }
end
else
render :new
end
end
и внутри create.js.erb
// Display a Javascript alert
<% if remotipart_submitted? %>
$("#comments_list").append("<%= escape_javascript(render(:partial => 'user_comments/comments')) %>");
<% end %>
Я использую Gem под названием: remotipart
Я не знаю, что я не хватает в этом процессе. в консоли я получаю:
POST http://localhost:3000/assignments/2/user_comments
200 OK
134ms
, что означает пост проходит, но комментарий не получает добавил обратно к частичной.