0

我已经用 wice_grid gem 创建了一个网格,我正在尝试在每个条目上添加一个删除按钮。

我的html如下:

<%= grid(@business_grid) do |g|

  g.column name: 'ID' do  |business|
    business.id
  end

  g.column name: 'Title' do |business|
    business.title
  end

  g.column name: 'Description' do |business|
    business.description
  end

  g.column name: 'PlayStore URL' do |business|
    business.playstore_url
  end  

 g.column name: 'AppStore URL' do |business|
   business.appstore_url
 end

 g.column do |business|


   link_to "Delete", {:controller=>"businesses", :action=>"delete_business",:business=>business.id}


 end

end -%>

我的控制器中的任何一个:

class BusinessesController < ApplicationController


def create

    @business = Business.new(:title => params[:title], :description => params[:description], 
        :playstore_url => params[:playstore_url], :appstore_url => params[:appstore_url])
      if @business.save

        render json: { status: 'success' }  
      else
        render json: { status: 'error', errors: @business.errors.full_messages }
      end

end

def destroy

    @business = Business.find(params[:id])
    @business.destroy
        respond_to do |format|
          format.html {  render :partial => 'businessPartial'}
          format.xml  { head :ok }

        end

end



end

删除函数确实有效,它确实删除了项目,但是我得到一个 ActionController 异常,说找不到对象

在我看来,我删除它然后再次搜索它,但我不明白为什么。这是我单击删除链接时得到的屏幕截图。截屏 当我刷新项目时消失了,这意味着删除功能有效。

我尝试搜索,但没有找到如此具体的内容。任何帮助表示赞赏。

仅按删除按钮后编辑My development.log 文件:

在 2016-04-15 11:33:34 +0300 [1m[36mActiveRecord::SchemaMigration Load (0.3ms)[0m [1mSELECT schema_migrations.* FROM schema_migrations[0m Processing by BusinessesController#销毁为 JS 参数:{"id"=>"44"} [1m[35mBusiness Load (0.4ms)[0m SELECT businesses.* FROM businessesWHERE businesses. id= 44 限制 1 [1m[36m (0.1ms)[0m [1mBEGIN[0m [1m[35mSQL (0.5ms)[0m 从businesses哪里删除businessesid= 44 [1m[36m (10.1ms)[0m [1mCOMMIT[0m Redirected to http://localhost:3000admin_users/dashboard Completed 302 Found in 49ms (ActiveRecord: 12.6ms)

在 2016-04-15 11:33:34 +0300 由 BusinessesController#destroy 处理为 127.0.0.1 开始 DELETE "/businesses/44" 作为 JS 参数:{"id"=>"44"} [1m[35mBusiness Load ( 0.3ms)[0m SELECT businesses.* FROM businessesWHERE businesses. id= 44 LIMIT 1 Completed 404 Not Found in 16ms (ActiveRecord: 0.3ms)

ActiveRecord::RecordNotFound(找不到“id”=44 的业务):
app/controllers/businesses_controller.rb:19:in `destroy'

渲染 /var/lib/gems/2.1.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_source.erb (3.9ms) 渲染 /var/lib/gems/2.1.0/gems /actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_trace.text.erb (0.7ms) 渲染 /var/lib/gems/2.1.0/gems/actionpack-4.2.6/lib/action_dispatch/ middleware/templates/rescues/_request_and_response.text.erb (0.9ms) 渲染 /var/lib/gems/2.1.0/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/diagnostics.text.erb (19.1 毫秒)

我在视图的控制器(称为仪表板)中初始化了@business_gird

def dashboard
      @substore_grid = initialize_grid(Substore)
      @business_grid = initialize_grid(Business)
      @user_grid = initialize_grid(User)

  end

耙路线截图:

在此处输入图像描述

4

1 回答 1

1

我的猜测是您的“businessPartial”部分正在尝试使用@business已删除的变量

format.html {  render :partial => 'businessPartial'}

删除此行时是否出现错误?

于 2016-04-15T13:45:28.913 回答