我正在尝试使用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)
错误消息告诉您表单正在以“text / html”的形式提交。尝试将remote: true
添加到实际表单而不是link_to
。