4
A
回答
12
是的,這是可能的。
你可以做這樣的事情:
def user_params
# List of common params
list_params_allowed = [:email, :title, :last_name, :first_name, :phone]
# Add the params only for admin
list_params_allowed << :role if current_user.admin?
params.require(:user).permit(list_params_allowed)
end
這樣,如果以後你有新的參數,可以,你只需要在一個列表(避免錯誤)添加。
如果你有一個以上的參數去添加爲admin,你可以做到這一點是這樣的:
list_params_allowed << :role << other_param << another_param if current_user.admin?
希望這有助於。
相關問題
- 1. 強參數,不允許的參數
- 2. 強參數:條件參數
- 3. Rails4強大的參數,如何允許關聯數組?
- 4. 不允許參數?
- 5. 允許使用具有強參數的表單值
- 6. 如何允許帶有強參數的Rack :: Test :: UploadedFile?
- 7. Rails強參數合併或條件強參數
- 8. 如何允許Spree API的參數?
- 9. 允許的表單參數
- 10. SSRS - 僅允許參數
- 11. 不允許的參數
- 12. 不允許的參數:songs_attributes
- 13. 函數不允許第二個參數
- 14. 允許在函數中使用任意數量的參數嗎?
- 15. Rails強參數 - 允許在陣列中嵌套深度散列
- 16. 如何讓Symfony允許文件名作爲模塊的參數
- 17. 軌道4 /設計/ MongoDB的:「不允許的參數」使用自定義屬性和強參數
- 18. D中允許使用未知類型參數的函數嗎?
- 19. 使用WCF REST服務,有多個參數,並允許爲空的參數
- 20. mongodump使用--query參數給出「位置參數不允許」錯誤
- 21. Apache Commons CLI允許參數選項或無參數選項
- 22. Rmarkdown ioslides - 允許標誌中的參數化參數YAML
- 23. 在可變參數模板參數之後,C++是否允許正常參數?
- 24. 如何打印Python函數需要/允許的參數?
- 25. 未經允許的參數:contact_requests
- 26. RoR允許非模型參數
- 27. 與DOT允許參數在.htaccess
- 28. ISO C不允許進參數聲明
- 29. 不允許的參數:profile(NestedAttributes) - RAILS 4
- 30. 設計錯誤:不允許的參數
'list_params_allowed + = [:role] if current_user.admin?'聽起來更好,特別是如果你以後可能想添加更多的參數。 – rubyprince 2014-10-10 20:13:38
@rubyprince感謝您的評論。你能解釋爲什麼比每個參數的''''''''解決方案都好? (只是爲了理解)它是更快還是更「紅寶石」的方式...? – 2014-10-10 20:20:02
我會說這是更紅寶石的方式,更易於維護。我可以這樣寫'admin_only_parameters = [:role]; list_params_allowed + = admin_only_parameters if current_user.admin?',然後改變'admin_only_parameters'。 – rubyprince 2014-10-10 20:43:05