Как использовать рендер и перенаправить вместе в рельсах? - PullRequest
0 голосов
/ 21 января 2020

Мой контроллер имеет событие перед действием, которое проверяет некоторый параметр на основе перенаправлений в метод

before_action :call_method

def call_method
  redirect_to action: process_it, status: 302, params: request.query_parameters and return if params[:navigate]
end

def process_it
  render json: {success:'activity recorded'} and return
end

Получение ошибки Render и / или redirect были вызваны несколько раз в этом действии. Пожалуйста, обратите внимание, что вы можете вызывать render или redirect, и не более одного раза за действие. Также обратите внимание, что ни перенаправление, ни рендеринг не прекращают выполнение действия, поэтому, если вы хотите выйти из действия после перенаправления, вам нужно сделать что-то вроде «redirect_to (...) и вернуть»

Wanted this {success:'activity recorded'} to be printed

Что неправильно я делаю здесь

Ответы [ 2 ]

0 голосов
/ 21 января 2020

redirect_to action: process_it ... - попробуйте символ имени действия :process_it вместо вызова метода

0 голосов
/ 21 января 2020

Поскольку вы вызываете before_action для каждого запроса, а также для process_it. Добавить кроме раздела в before_action:

before_action :call_method, except: :process_it
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...