2011-05-28 57 views
24

更新代碼格式以便更好地查看。無法批量分配受保護的屬性

夥計們,

我一直在尋找這樣的某個時候,但我不明白什麼可以在這裏搞亂。我正在使用Devise。

class User < ActiveRecord::Base 
    has_many :addresses 
    accepts_nested_attributes_for :addresses 

    # Other stuff here 
end 

class Address < ActiveRecord::Base 

    belongs_to :user 

    validates_presence_of :zip #:street_address1, 

--------------------日誌輸出開始------------- -----------------

已啓動POST「/ users」for 127.0.0.1 at 2011-05-28 11:43:27 -0700通過RegistrationsController處理 #創建爲 HTML參數:{「utf8」=>「√」, 「authenticity_token」=>「CEmdqlsmdYa6Jq0iIf5KAxxISsUCREIrFNXWkP80nhk =」, 「user」=> {「email」=>「[email protected]」, 「password」=>「[FILT ERED]」, 「addresses_attributes」=> {「0」=> {「street_address1」=>「234 Pitkin Ct。」,「zip」=>「12456」}}}} , 「提交」=> 「註冊」}警告:不能 質量指派保護的屬性: addresses_attributes SQL(0.0ms) BEGIN SQL(164.0ms)SHOW TABLES
用戶負載(0.0ms)選擇usersid FROM users WHERE(usersemail = BINARY '[email protected]')LIMIT 1 SQL (1.0ms的)ROLLBACK

----------------- ---日誌輸出端------------------------------

該數據文件中的壓縮文件已存在並且發佈的數據似乎被正確格式化。在網頁表單上,我收到「Address zip不能爲空」的錯誤。我已經找到了導致「無法批量分配受保護的屬性」警告的原因,但沒有找到任何幫助我的東西。

感謝您的想法和建議。

-S

回答

32

看看這裏和學習:)

http://railscasts.com/episodes/26-hackers-love-mass-assignment


編輯:

accepts_nested_attributes_for在用戶模式使您能夠將數據發送到地址模型。

然後,在地址模式,你必須設置請求attr_accessible

+1

感謝您的反饋@apneadiving。我瀏覽了railscasts插曲,它證實了我對attr_accessible的理解。我在Address模型中打開它(通過取出attr_accessible),所以我不會有任何問題。我將它添加回「attr_accessible:street_address1,:zip,:address_attributes」但仍然出現相同的錯誤。我過去做過這件事,從來沒有必要聲明attr_accessible:nestedclass_attributes - 我在想方設法在背面做了一些導致這個問題的東西。 – Sanjay 2011-05-28 19:45:44

+0

在您的用戶模型中嘗試了「attr_accessible:address_attributes」和「attr_accessible:addresses_attributes」 – Sanjay 2011-05-28 19:49:37

+0

:'attr_accessible:addresses_attributes',在您的地址模型中:'attr_accessible:zip,:street_address_1' – apneadiving 2011-05-28 19:52:46

10

SpecificModelappfolder /應用程序/模型/ specific_model.rb

的請嘗試使用

attr_accessible :addresses_attributes, :another_attribute_to_make_mass_assignable, :another_attribute, etc.

+0

嘗試attr_accessible:street_address1,:zip,:address_attributes但得到相同的錯誤。 – Sanjay 2011-05-28 19:36:13

3

就包括數據字段模型下面

如前所述
attr_accessible :addresses_attributes 
相關問題