Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 额外的;你确定吗?”;在销毁记录之前_Javascript_Forms_Ruby On Rails 4_Controller_Destroy - Fatal编程技术网

Javascript 额外的;你确定吗?”;在销毁记录之前

Javascript 额外的;你确定吗?”;在销毁记录之前,javascript,forms,ruby-on-rails-4,controller,destroy,Javascript,Forms,Ruby On Rails 4,Controller,Destroy,在我的一些表格上,我有一个额外的弹出确认“你确定吗?”在它实际销毁记录之前。我使用的是Rails 4和simple_表单。这里有一个例子 我有一个模型叫促销,另一个模型叫促销购买 型号: class Promotion < ActiveRecord::Base has_many :promotion_purchases, dependent: :destroy end class PromotionPurchase < ActiveRecord::Base belongs_

在我的一些表格上,我有一个额外的弹出确认“你确定吗?”在它实际销毁记录之前。我使用的是Rails 4和simple_表单。这里有一个例子

我有一个模型叫促销,另一个模型叫促销购买

型号:

class Promotion < ActiveRecord::Base
  has_many :promotion_purchases, dependent: :destroy
end

class PromotionPurchase < ActiveRecord::Base
  belongs_to :user
  belongs_to :promotion
end
<div class="content-box">
<%= simple_form_for [:admin, @promotion] do |f| %>
  <fieldset id="promotion-form-info">
    <%= f.input :name %>
    <%= f.input :description %>
    <%= f.input :category %>
    <%= f.input :cost_in_cents, as: :string %>
    <%= f.input :amount_available, as: :string %>
    <%= f.input :start_date, :as => :date_picker %>
    <%= f.input :end_date, :as => :datetime_picker %>
    <%= f.button :submit, class: 'btn btn-sm btn-success' %>
  </fieldset>
<% end %>
<% if @promotion.id != nil %>
  <fieldset id="promotion-form-purchases">
    <h3>Purchases:</h3>
    <% if !@purchases.empty? %>
      <table class="table">
        <tr>
          <th>Name</th>
          <th>Email</th>
          <th>Phone</th>
          <th>Status</th>
          <th></th>
        </tr>
        <% @purchases.each do |purchase| %>
          <tr>
            <td><%= purchase.full_name %></td>
            <td><%= purchase.user.email if purchase.user %></td>
            <td><%= purchase.phone %></td>
            <td><%= purchase.status %></td>
            <td>
              <%= link_to "Edit", edit_admin_promotion_promotion_purchase_path(@promotion, purchase), class: "btn btn-xs btn-success" %>
              <%= link_to 'Delete', [:admin, @promotion, purchase], method: :delete, data: { confirm: 'Are you sure?' }, class: "btn btn-xs btn-danger" %> 
              <%= "<- Editing this purchase" if @purchase && purchase.id == @purchase.id %>
            </td>
          </tr>
        <% end %>
      </table>
    <% end %>
    <p>
      <%= link_to "Add Purchase", new_admin_promotion_promotion_purchase_path(@promotion), class: "btn btn-sm btn-primary" %>
    </p>
  </fieldset>
<% end %>
</div>
和表单:

class Promotion < ActiveRecord::Base
  has_many :promotion_purchases, dependent: :destroy
end

class PromotionPurchase < ActiveRecord::Base
  belongs_to :user
  belongs_to :promotion
end
<div class="content-box">
<%= simple_form_for [:admin, @promotion] do |f| %>
  <fieldset id="promotion-form-info">
    <%= f.input :name %>
    <%= f.input :description %>
    <%= f.input :category %>
    <%= f.input :cost_in_cents, as: :string %>
    <%= f.input :amount_available, as: :string %>
    <%= f.input :start_date, :as => :date_picker %>
    <%= f.input :end_date, :as => :datetime_picker %>
    <%= f.button :submit, class: 'btn btn-sm btn-success' %>
  </fieldset>
<% end %>
<% if @promotion.id != nil %>
  <fieldset id="promotion-form-purchases">
    <h3>Purchases:</h3>
    <% if !@purchases.empty? %>
      <table class="table">
        <tr>
          <th>Name</th>
          <th>Email</th>
          <th>Phone</th>
          <th>Status</th>
          <th></th>
        </tr>
        <% @purchases.each do |purchase| %>
          <tr>
            <td><%= purchase.full_name %></td>
            <td><%= purchase.user.email if purchase.user %></td>
            <td><%= purchase.phone %></td>
            <td><%= purchase.status %></td>
            <td>
              <%= link_to "Edit", edit_admin_promotion_promotion_purchase_path(@promotion, purchase), class: "btn btn-xs btn-success" %>
              <%= link_to 'Delete', [:admin, @promotion, purchase], method: :delete, data: { confirm: 'Are you sure?' }, class: "btn btn-xs btn-danger" %> 
              <%= "<- Editing this purchase" if @purchase && purchase.id == @purchase.id %>
            </td>
          </tr>
        <% end %>
      </table>
    <% end %>
    <p>
      <%= link_to "Add Purchase", new_admin_promotion_promotion_purchase_path(@promotion), class: "btn btn-sm btn-primary" %>
    </p>
  </fieldset>
<% end %>
</div>

:日期\选取器%>
:datetime_picker%>
购买:
名称
电子邮件
电话
地位

和控制器

class Admin::PromotionPurchasesController < ApplicationController
  layout 'admin'
  before_action :set_promotion
  before_action :set_purchase, only: [:edit, :update, :destroy]

  def destroy
    @purchase.destroy
    redirect_to new_admin_promotion_promotion_purchase_path(@promotion), success: 'PromotionPurchase was deleted.'
  end

  private

    def set_promotion
      @promotion = Promotion.find(params[:promotion_id])
    end

    def set_purchase
      @purchase = PromotionPurchase.find(params[:id])
    end
end
class Admin::PromotionPurchasesController
你知道为什么我在表单中销毁促销购买以编辑促销时会看到“你确定吗?”两次而不是一次吗

在这种情况下,我看了三遍:


您发布的代码似乎没有问题

我认为问题来自javascript。(检查控制台,你可能会看到里面有东西)


另外,您可能多次导入了
jquery\u ujs
,尝试从
application.js
中删除
jquery\u ujs
,然后查看是否有任何情况发生,如果只导入一次,则不应出现该对话框。

您发布的代码似乎没有问题

我认为问题来自javascript。(检查控制台,你可能会看到里面有东西)


另外,您可能多次导入了
jquery\u ujs
,尝试从
application.js
中删除
jquery\u ujs
,然后查看是否有任何情况发生,如果只导入一次,则不应出现该对话框。

尝试在表单中放入一个简单的
,并在那里发出警报。如果该警报出现3次,则您的问题是加载文件的次数太多。

尝试在表单中添加一个简单的
,然后在表单中添加警报。如果出现3次警报,则问题是加载文件的次数太多。

您可以发布快照吗?您可以发布布局、路由文件吗?删除是破坏性的。声明这是防止意外数据丢失并发送的理想行为;]/笑话你能发布快照吗?你能发布布局、路由文件吗?删除是破坏性的。声明这是防止意外数据丢失并发送的理想行为;]/笑话当我从application.js中删除该行时,我根本看不到对话框,它会给我一个路由错误。你在服务器日志或浏览器中看到路由错误了吗?这很正常,负责处理
方法
参数。如果没有它,链接会变成一个简单的GET,我想你没有show route?当我从application.js中删除该行时,我根本没有得到对话框,它会给我一个路由错误。你在服务器日志或浏览器中看到路由错误了吗?这很正常,负责处理
方法
参数。没有它,链接就变成了一个简单的获取,我猜你没有一个展示路线?