[英]Rails: strong_params and getter/setter methods
我在Rails 4中使用strong_params。當我嘗試使用這樣的自定義setter方法時:
def foo=(foo)
@foo = foo
end
然后Rails將該屬性記錄為數據庫中的null。 如果我刪除自定義setter,那么一切正常。 在Rails 3中,自定義setter是這樣編寫的,但也許事情已經改變了? 如果是這樣,自定義設置器現在如何工作?
我認為這段代碼不適用於Rails 3.你確定這個嗎? 因為如果這樣做,您將覆蓋由ActiveRecord創建的setter方法(它負責將數據存儲到DB)。 您的自定義方法版本看起來是否完全如圖所示? 有什么意義呢?
試着打電話給super
def foo=(foo)
@foo = foo
super
end
PS:我查了一下,並沒有在Rails 3的(作品有工作super
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.