ruby-on-rails - _destroy 在 Rails 4 的 Coocon gem 中不起作用

标签 ruby-on-rails ruby ruby-on-rails-4 cocoon-gem

我也遇到了同样的问题 one

但该解决方案对我没有帮助。 这是我的强参数:

def request_params
   params.require(:request).permit(:name, :address, :phone, :mobile, :type,
     :filled_cartridges_attributes => [:cartridge_name,:client_id,,
				:count,:_destroy,:id],							

所以我有 :_destroy 和 :id。前面的人忘记将 :id 添加到强参数中。添加一个 id 解决了他的问题。

这是我的请求模型:

has_many :filled_cartridges, inverse_of: :request, dependent: :destroy
	accepts_nested_attributes_for :filled_cartridges, :reject_if => :all_blank, allow_destroy: true

这是提交后参数的样子:

request: 
...some params....
filled_cartridges_attributes: !ruby/hash:ActionController::Parameters
    '0': !ruby/hash:ActionController::Parameters
      cartridge_name: HP LaserJet3000
      _destroy: 'false'
      id: '1'
    '2': !ruby/hash:ActionController::Parameters
     cartridge_name: new 9
     _destroy: '1'
     id: '13'

这里应该销毁第二个。 但事实并非如此。

最佳答案

您应该在允许的参数上将 :_destroy 和 :id 添加到指定的嵌套属性。

关于ruby-on-rails - _destroy 在 Rails 4 的 Coocon gem 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29817775/

相关文章:

ruby-on-rails - 创建记录的深拷贝?

ruby-on-rails - 无法连接本地主机 :3000 ruby on rails in vagrant

ruby-on-rails - Rails+ postgres : Loading db structure floods stdout

ruby - 如何使用公共(public) swagger-generator docker 镜像生成客户端?

Ruby lambda 语法问题

ruby-on-rails-4 - 我的工作 ActiveJob 的未初始化常量

ruby-on-rails - 覆盖设计 after_sign_up_path_for 不起作用

ruby-on-rails - 多态关联和嵌套属性

ruby-on-rails - Rails 使用复选框和 jquery ajax 更改 boolean 值

ruby-on-rails - 如何在 ruby​​ 中使用 AES 256 ECB PKCS5Padding 加密数据