обрабатывает рельсы как HTML вместо JS

0

Я пытаюсь создать функцию с 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 %>
  • 0
    Вы также можете показать код своей формы из поля зрения?
  • 0
    Не могли бы вы также добавить параметры запроса?
Теги:

1 ответ

0
Лучший ответ

Сообщение об ошибке сообщает вам, что форма отправляется как "text/html". Попробуйте добавить remote: true для фактической формы вместо link_to.

  • 0
    большое спасибо ! мы работали над этой проблемой 2 дня подряд, но ответ был простой

Ещё вопросы

Сообщество Overcoder
Наверх
Меню