小编Ana*_*pin的帖子

为什么我的应用程序使用destroy而不是自定义操作?

我是Ruby的新手。对不起我的英语不好。

我需要创建用于销毁所有用户对象的按钮(名为Relations和ListRelations的模型)。

这是我的config / routes.rb的一部分:

  devise_for :users, controllers: { omniauth_callbacks: 'omniauth_callbacks' }
  resources :relations
  resources :list_relations
  delete '/relations/destroy_member_data' => 'relations#destroy_member_data'
Run Code Online (Sandbox Code Playgroud)

Relationships_controller.rb

  def destroy_member_data
    if current_user.relations.destroy_all && current_user.list_relations.destroy_all
      redirect_to(relations_path, :notice => 'All relations were successfully destroyed')
    else
      redirect_to(relations_path, :warning => 'Something went wrong. Please, try again.')
    end
  end
Run Code Online (Sandbox Code Playgroud)

Relationships / index.html.slim:

= link_to 'Destroy all data', relations_destroy_member_data_path, method: :delete, data: {confirm: 'Are you sure?'}
Run Code Online (Sandbox Code Playgroud)

当我单击此链接时,出现此错误:

Couldn't find Relation with 'id'=destroy_member_data

Extracted source (around line #59):

58: def destroy
59:    @relation = …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-5

0
推荐指数
1
解决办法
33
查看次数

标签 统计

ruby ×1

ruby-on-rails ×1

ruby-on-rails-5 ×1