Я пытаюсь создать функцию с ajax для редактирования и обновления комментариев в форме. моя функция редактирования работает без проблем с помощью ajax, но когда я пытаюсь обновить комментарий, я получаю сообщение об ошибке: CommentsController # update отсутствует шаблон для этого формата и варианта запроса. request.formats: ["text/html"] request.variant: []
comments_controller
def update
respond_to :js
authorize @comment, :update?
@comment.update(comment_params)
if @comment.save
flash[:notice] = 'Commentaar is succesvol toegevoegd.'
else
flash.now[:alert] = 'Commentaar is niet toegevoegd.'
end
end
def comment_params
params.require(:comment).permit(:text)
end
update.js.erb
$("#comment-ajax-<%= @comment.id %>").html("<%= j render @comment %>");
_comment.html.erb
<% if policy(comment).edit? %>
<%= link_to 'edit', [:edit, comment.fabmoment, comment], remote: true, 'data-type' => 'script' %>
<% end %>
Форма комментария
<%= simple_form_for [fabmoment, comment] do |f| %>
<!-- Input -->
<%= f.input_field :text, rows: 4 %>
<%= f.label :text %>
<% end %>
Сообщение об ошибке сообщает вам, что форма отправляется как "text/html". Попробуйте добавить remote: true
для фактической формы вместо link_to
.