我正在使用Sinatra,但我猜這也適用於Rails(如果沒有,請刪除標籤或讓我知道,我會刪除它)。質量更新屬性
我有一個ActiveRecord :: Base類User
。它具有大量的屬性,我顯示的頁面將允許某人更新特定用戶。問題是,我很難以DRY的方式實現更新功能。我的意思是,當我得到了params
用POST請求,我可以這樣做:
a_user.update_attributes params
因爲PARAMS包含其他的廢話bnch太(像:splat
- 那是什麼?),它會拋出一個未知屬性錯誤。我不是要做的是:
a_user.update_attributes {:attrA => params[:attrA],
:attrB => params[:attrB], ...etc }
(記住有屬性很多)
這是我應該怎麼辦呢?對我來說,出於某種原因......它感覺不對。例如,如果我有另一個需要以類似方式更新的模型,則必須重新手動重寫所有屬性。
我所尋找的是somethign像:
a_user.filter_and_update_attributes params
其中自動filter_and_update_attributes過濾任何不良/未知屬性的PARAMS和不得不重寫了這麼多無用的代碼,我可以使用與任何型號此的任何地方。
感謝
哇。你真噁心!!!!!在一個很好的方式:p – 0xSina