Как передать selected_tab в действие контроллера? - PullRequest
0 голосов
/ 30 января 2019

У меня есть главная вкладка «Категория».Эта вкладка имеет еще две вкладки как «вопрос» и «ответ».Я создал CategoryController, в котором я определил два действия с именами «вопрос» и «ответ».У меня есть метод category_type в частном порядке, который должен принимать category_type в зависимости от того, какая вкладка выбрана («вопрос» или «ответ»).Этот метод будет вызываться в действиях контроллера.Я создал эти вкладки в представлениях, а также добавил маршруты.Как передать, какая вкладка выбрана из представления этому методу?

Я создал частичный для этих вкладок и отобразил его на главной странице.

_tabs.html.haml


#secondary-slider.pills-container
  %span
    = link_to 'Questions', question_category_path, class: @selected_tab[:question]
  %span
    = link_to 'Answers',  answer_category_path, class: @selected_tab[:answer]

Действие контроллера:


  def question
    @selected_tab = { category_type => :selected }
  end

  alias :question :answer

  private

  def category_type
    @category_type = :question
  end

Вместо передачи category_type как :question или :answer, как указано выше, я хочу передатьпараметры из поля зрения, т.е. если выбрана вкладка question, @category_type следует передать с помощью question, в противном случае, если выбрана вкладка answer, она должна быть передана в category_type.

Как этого достичь?Я думал о передаче 'params ()', но не мог понять, что следует передать в скобках.

Заранее спасибо.

1 Ответ

0 голосов
/ 30 января 2019

Вы можете передать тип категории из вида через question_category_path, как показано ниже,

question_category_path(category: 'question')

Аналогично для answer_category_path

И получить доступ к выбранному типу в действии как params[:category]

...