2017-02-08 45 views
0

我想創建一個函數與Ajax編輯和更新註釋在窗體中。 我的編輯功能使用ajax時沒有問題,但當我嘗試更新評論時,出現錯誤:CommentsController#update缺少此請求格式和變體的模板。 request.formats:[ 「text/html的」] request.variant:[]軌道處理作爲HTML而不是JS

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

你還可以添加請求參數嗎? –

回答

0

錯誤消息告訴你表單正在被提交爲'text/html'。嘗試將remote: true添加到實際表單中,而不是link_to

+0

非常感謝!我們一直在研究這個問題連續2天,但答案是這個簡單的哈哈 –