как передать параметры в redirect_to - PullRequest
0 голосов
/ 01 октября 2018

Начиная с Ruby на рельсах, я сгенерировал ProvsController, используя scaffold.

Он сгенерировал мне этот метод создания:

def create
  @prov = Prov.new(prov_params)
  respond_to do |format|
  if @prov.save
     format.html {redirect_to @prov, notice: 'Success'}
     format.json {render :show, status: :created, location: @prov}
  else
     format.html {render :new}
     format.json {render json: @prov.errors, status: :unprocessable_entity}
  end
end

и

private
def prov_params
  params.require(:prov).permit(:name, :description)
end

Я хочу отправить параметры обратно в представление при некоторых условиях, то есть, если params[:location].nil? не соответствует действительности.Я сделал это:

format.html {redirect_to params[:location].nil? ? @prov : provs_url(location: 1), notice: 'Success.'}

Но @prov и provs_url - это не одно и то же.Я безуспешно пробовал

@prov : @prov(location: 1)
@prov : prov_url(location: 1)

и некоторые другие варианты.Все эти комбинации выдают ошибки.

Я хочу отправить параметр location обратно в то же представление, что и в @prov.

1 Ответ

0 голосов
/ 01 октября 2018

хорошо, я тестировал больше теста и нашел это решение

format.html {redirect_to params[:location].nil? ? @prov : provs_path(id: @prov.id, location: 1), notice: 'Success.'}

, и оно сработало для меня.

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