当我使用分页按钮或使用看板卡中的记录栏更改页面时,当我尝试在控制器的同一操作中进行渲染和重定向时,会在 Ruby on Rails 中出现 DoubleRenderError 。正如错误所示,每个操作只能调用一次 render 或 redirect_to
def index
session[:current_page] = "all_request"
default_per_page = 15
@per_page = params[:per_page] || session[:per_page] || default_per_page
session[:per_page] = @per_page
@q = ClientRequest.includes(:resource_infos, :developers).page(params[:page]).per(@per_page).ransack(params[:q])
if (params[:q] && @filter_per_page_value = params[:q][:per_page_eq]) != nil
@per_page = @filter_per_page_value
@q = ClientRequest.includes(:resource_infos, :developers).page(params[:page]).per(@per_page).ransack(params[:q])
end
@client_requests = @q.result
kanban_view_details
render_partials
end
def kanban_view_details
kanban_column_data = KanbanColumn.in_order_of(:name, KanbanViewHelper::KANBAN_COLUMN_ORDER.keys)
@grouped_kanban_columns = {}
kanban_column_data.each do |kanban_column|
custom_sorting_expression, sorted_records = generate_sorted_records(kanban_column)
pagy, client_requests = pagy_countless(sorted_records, items: 6, page_param: kanban_column.name)
@grouped_kanban_columns[kanban_column] = [pagy, client_requests]
end
load_cache
@pagy, @kanban_columns = pagy_countless(kanban_column_data, items: 9)
if params[:page]
render "scrollable_list"
elsif params[:load]
render partial: "kanban_views/common_view/common_kanban_page"
end
end
def render_partials
kanban_view_details
partial_name = params[:name]
if partial_name == "classic_view"
render partial: "classic_views/classic_view"
elsif partial_name == "kanban_view"
load_cache
render partial: "kanban_views/common_view/common_kanban_page", locals: { client_request_cache: @client_request_cache }
end
end
我认为您正在调用 kambas 中的渲染和索引中的最终渲染。只需更改代码,使其呈现 kambas 之后有一个返回,以防止索引返回