簡體   English   中英

您如何使用attr_accessible?

[英]How do you use attr_accessible?

我找不到新手教程。 使用attr_accessible是否沒有簡單的規則? 我應該將其用於用戶可以從表單設置的屬性嗎?

如果可以從表單設置所有屬性怎么辦?

我將不勝感激一個鏈接或簡短的建議。 我已經找到了http://asciicasts.com/episodes/26-hackers-love-mass-assignment

attr_accessible是可以批量分配給模型的屬性白名單。 這是一種策略,要求您明確列出所有屬性。 這樣,“開放端口”是眾所周知的,並且在模型中清楚列出。 這與attr_protected相反,attr_protected是要防止進行批量分配的字段黑名單。

甚至在中等到簡單的應用程序中,通常都有外鍵類型字段,例如user_id或company_id,這些字段可能無法由用戶輸入確定。 必須保護這些字段不受用戶輸入。 無論如何,主鍵字段“ id”通常都受Rails保護。

如果您的模型具有可以通過“表單”輸入更新的所有列,那么請確保將其列為attr_accessible(或者對於該特定模型,您可能希望跳過attr_accessible)。

但是,不要將嬰兒與洗澡水一起扔出去,attr_accessible是一件好事,並確保您在其他模型中使用它,而這些模型可能不像您在問題中所談論的那樣開放。

通常在具有大量列的模型上使用attr_protected,而在其他大多數模型上使用attr_accessible。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM