2013-06-27 45 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

錯誤。

相關問題