Как получить статус функции Destroy от Rail Ajax? - PullRequest
0 голосов
/ 25 мая 2018

Код index.html.erb: с помощью ajax remote:true

 <% @articles.each do |article| %>
    <tr>
      <td><%= article.title %></td>
      <td><%= article.description %></td>         
      <td><%= link_to 'Destroy', article_path(article),
              method: :delete, remote:true,
              data: { confirm: 'Are you sure?' } %></td>
    </tr>
  <% end %>

Код ArticlesController:

class ArticlesController < ApplicationController
  def index
    @articles = Article.all
    DatChat.reset_column_information()
    @dat_chat= DatChat.all    
    #render plain: @dat_chat.inspect
    return [@articles, @dat_chat]
  end
  def show
    @article = Article.find(params[:id])
  end 
  def destroy
    @article = Article.find(params[:id])
    @article.destroy   
    redirect_to articles_path
  end
end

Как получить статус функции «Уничтожить» и показать сообщение об удаленииOK или Fail?

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Моя проблема была решена: html:

 <td><%= link_to 'Destroy', article_path(article),remote: true,
              method: :delete,remote: true,class: "destroy-product",
              data: { confirm: 'Are you sure?' } %></td>

код ArticlesController:

>  @article = Article.find(params[:id])        
>      respond_to do |format| 
>       if @article.destroy            
>         format.js { flash.now[:notice] = "OK" }
>       else 
>         format.js { flash.now[:notice] = "Fail" }
>       end 
>      end

destroy.js.erb:

alert("<%= j flash[:notice] %>");

$('.destroy-product').bind('ajax:success', function() {
   $(this).closest('tr').fadeOut();
});
0 голосов
/ 25 мая 2018
  def destroy
    @article = Article.find(params[:id]) 
     respond_to do |format| 
      if @article.destroy 
        format.js {render locals: {message: "Ok"}}
      else
        format.js {render locals: {message: "Fail"}}
      end
    end
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...