我已经用 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
.* FROMschema_migrations
[0m Processing by BusinessesController#销毁为 JS 参数:{"id"=>"44"} [1m[35mBusiness Load (0.4ms)[0m SELECTbusinesses
.* FROMbusinesses
WHEREbusinesses
.id
= 44 限制 1 [1m[36m (0.1ms)[0m [1mBEGIN[0m [1m[35mSQL (0.5ms)[0m 从businesses
哪里删除businesses
。id
= 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
.* FROMbusinesses
WHEREbusinesses
.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
耙路线截图: