我還沒有切換到Rails 4,但&一直在研究strong_params。我喜歡我所看到的&只想在1個型號上使用它。似乎很簡單,但我想在我的config> application.rb文件中註釋'config.active_record.whitelist_attributes = true'。Rails:如何僅在某些型號上使用Strong_Params
我該如何安全(明智地安全)在某些模型中使用strong_params?
我還沒有切換到Rails 4,但&一直在研究strong_params。我喜歡我所看到的&只想在1個型號上使用它。似乎很簡單,但我想在我的config> application.rb文件中註釋'config.active_record.whitelist_attributes = true'。Rails:如何僅在某些型號上使用Strong_Params
我該如何安全(明智地安全)在某些模型中使用strong_params?
我建議這種方法:默認啓用強參數,並且專門爲不需要它的控制器禁用它。 (是強大的參數是在控制器現在使用Rails 4,不要在型號了)
要禁用特定的控制器,你可以使用params.require(:model_name).permit!
這將允許任何params用於在特定控制器
例
class UnsafeController
...
def update
...
@unsafe.update unsafe_params
...
end
private
def unsafe_params
params.require(:unsafe).permit!
end
end
而** config.active_record.whitelist_attributes = true ** @Benjamin – goo
正如我所提到的「在默認情況下啓用強參數「。意思是你可以從你的'config/application.rb'文件和任何'mass_assignment_sanitizer'選項中刪除'whitelist_attributes'選項。 – Benj
ok,很抱歉,如果我誤解或錯過了某些可能很明顯的東西,但要弄清楚這一點,「配置。 active_record.whitelist_attributes = true「只有在我的模型中沒有attr_accessible時纔會發揮作用。所以這是你想要做的點,對嗎? @Benjamin – goo
當然,爲什麼不可能呢? – phoet
你能解釋一下嗎?我想我必須做一些其他的事情,因爲我評論出whitelist_attribute ..我還是新的ROR @phoet – goo