Как перенаправить с помощью URL перенаправления с идентификатором после создания действия в приложении Rails? - PullRequest
0 голосов
/ 14 марта 2020

Я использую вкладку foundation-zurb и рендеринг данных из разных моделей. Когда создается какой-то финансовый файл, он перенаправляет его на страницу с активной вкладкой, определенной в базовом классе. Как я могу перенаправить на вкладку «Финансы», когда создается финансовая информация?

project # show. html .erb

  <div class="row">
    <div class="columns">
      <ul class="tabs" data-tabs id="example-tabs">
        <li class="tabs-title is-active"><a href="#panel1" aria-selected="true">Project Activities</a></li>
        <li class="tabs-title"><a href="#panel2">Project Financial</a></li>
      </ul>

      <div class="tabs-content" data-tabs-content="example-tabs">
        <div class="tabs-panel is-active" id="panel1">
          <%= render "projects/project_activities" %>
        </div>
        <div class="tabs-panel" id="panel2">
          <%= render "financials/index" %>
        </div>

financials_controller.rb

  def create
    @financial = @project.financials.build(financial_params)

    respond_to do |format|
      if @financial.save
        format.html { redirect_to project_path(@project), notice: 'Financial was successfully created.' }
        format.json { render :show, status: :created, location: @financial }
      else
      end
    end
  end

1 Ответ

1 голос
/ 15 марта 2020

Просто используйте опцию anchor для помощника по URL

redirect_to project_path(@project, anchor: 'panel2')

Вам необходимо добавить опцию data-deep-link для ваших вкладок, чтобы сохранить текущее состояние в URL и позволить пользователям открывать определенную вкладку при загрузке страницы. с добавленным в ha sh URL-адресом

<ul class="tabs" data-tabs data-deep-link="true" id="example-tabs">

Более полезные опции можно найти в документах

...