Начиная с 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
.