2013-06-27 26 views
0

我对这个问题的许多议题,仍然我不能够理解我在做什么错:MassAssignmentSecurity ::错误:无法大规模指派保护的属性:security_users_detail

我有两个型号,同以下关系:

  • securty_user_rb:

    attr_accessible ...(some fields) 
           :security_users_detail 
    
    has_one :security_users_detail, dependent: :destroy 
    
  • security_users_detail.rb

    ​​

,并在security_users_controlller.rb我在新的行动这样做:

@security_user = SecurityUser.new(params[:security_user]) 
@security_user.build_security_users_detail(security_users_detail: SecurityUsersDetail.new) 

为什么我不能够建立连接和我得到

Can't mass-assign protected attributes: security_users_detail

错误,因为我有attr_accessible:模型中的security_users_detail?

编辑:

我试评下面一行在我applicatin.rb文件,以检查问题是否会得到解决:

config.active_record.whitelist_attributes = true 

不幸的是,我得到了同样的错误(重新启动服务器后),所以我想我的问题与其他一些事情有关。

回答

0

整个问题是由我的细节模型验证造成的 - 我有验证,检查格式和一些字段的存在,所以显然,轨道不允许我创建空字段的对象。

为了解决这个问题我必须使用验证:假

我已经失去了很多时间阅读有关轨道默认像

config.active_record.whitelist_attributes = true 

和使用attr_accessible的,但似乎未能验证可以扔了相同

Can't mass-assign protected attributes

错误。

相关问题