更新代碼格式以便更好地查看。無法批量分配受保護的屬性
夥計們,
我一直在尋找這樣的某個時候,但我不明白什麼可以在這裏搞亂。我正在使用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)選擇users
。id
FROMusers
WHERE(users
。----------------- ---日誌輸出端------------------------------
該數據文件中的壓縮文件已存在並且發佈的數據似乎被正確格式化。在網頁表單上,我收到「Address zip不能爲空」的錯誤。我已經找到了導致「無法批量分配受保護的屬性」警告的原因,但沒有找到任何幫助我的東西。
感謝您的想法和建議。
-S
感謝您的反饋@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
在您的用戶模型中嘗試了「attr_accessible:address_attributes」和「attr_accessible:addresses_attributes」 – Sanjay 2011-05-28 19:49:37
:'attr_accessible:addresses_attributes',在您的地址模型中:'attr_accessible:zip,:street_address_1' – apneadiving 2011-05-28 19:52:46