将您发送给参数newPet._type = "Something Else";
的will_pagify宝石will_paginate将抛出错误。有比声明[ts] Type '"Something Else"' is not assignable to type '"dog" | "fish"'. [2322]
(property) _type: "dog" | "fish"
更好的方法吗?希望这是为了支持零索引页面,我可以使用功能参数禁用它。
*可能还有其他我未测试过的无效输入。字符串为nil。
更新:
尝试避免:
page=0
vs。
page = nil (or 1) if param[:page] =~ /^[0]{,}$/
答案 0 :(得分:0)
您可以利用WillPaginate
has already done来处理所有情况,如下所示:
def clean_page(page)
begin
WillPaginate::PageNumber(page)
rescue WillPaginate::InvalidPage
1
end
end
它将处理所有相同的问题,因为您正在利用它们的验证过程,而任何未通过的操作默认为第1页。