Ruby on rails 散列#与默认值合并
目前,我在Ruby on rails 散列#与默认值合并,ruby-on-rails,ruby,Ruby On Rails,Ruby,目前,我在ApplicationControllerI callpagination_params上有一个方法,它使用strong_params将一些键列为白名单 def pagination_params params.permit(:page, :per_page, :after_id) end 我想使用.merge覆盖任何值,但我想使用默认值,我使用的解决方法是: pagination_params.merge(:per_page => pagination_params.fe
ApplicationController
I callpagination_params
上有一个方法,它使用strong_params将一些键列为白名单
def pagination_params
params.permit(:page, :per_page, :after_id)
end
我想使用.merge覆盖任何值,但我想使用默认值,我使用的解决方法是:
pagination_params.merge(:per_page => pagination_params.fetch(:per_page, DEFAULT_PER_PAGE))
有没有更干净的方法
DEFAULT_PARAMS_HASH.merge pagination_params
另外,在
默认参数\u散列中使用字符串作为键,而不是符号。我认为反向合并只合并散列中不存在的键/值 太好了!当然,这与我的用例相匹配。