[英]Filterrific - Persist Filter
我正在嘗試保留用戶設置的多個過濾器設置,以便每當重新加載頁面,或者如果用戶導航離開然后導航回其過濾頁面時,過濾器設置不會重置為默認值。 我發現了這個問題,要求與我的目標相反,並推斷將 persistence_id 設置為 true 會保留過濾器,但是在將多個過濾器的 persistence_id 設置為 true 並在我的應用程序中導航之后,我發現過濾器不是堅持,而不是重置。
根據我對 filterrific 文檔的理解,persistence_id 設置將能夠啟用 session 持久性。 是否還有更多需要實現的 session 持久性?
Rails 和 Ruby 應用程序中使用的版本: Rails 版本 = 6.0.4.4 Ruby 版本 = 2.6.8p205
controller 中的示例實現:
def filterrific_appointments
initialize_filterrific(
Appointment,
params[:filterrific],
select_options: {
staff_member: User.staff.map { |p| [p.full_name, p.id] },
state: State.order(:name).pluck(:name, :id),
with_account: [["Account Created", true], ["No Account", false]],
},
default_filter_params: { staff_member: current_user.id, intake: true },
persistence_id: true,
available_filters: %i[
staff_member
state
intake
with_account
],
sanitize_params: true,
) || return
end
相關約會 Model 中的示例實現:
filterrific(
default_filter_params: { sorted_by: "start_time_asc" },
available_filters: %i[
sorted_by
provider
staff_member
state
appointment_type
location
start_time
end_time
with_account
],
)
因此,在與同事合作后,我們發現persistence_id 不是在尋找真/假值,而是尋找與過濾器 session 相關聯的唯一字符串。 我假設這是 filterrific 如何在 cookies 中設置這些 session 過濾器,以便區分各種過濾器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.