代码之家  ›  专栏  ›  技术社区  ›  assembler

如何将重定向中的参数传递给

  •  0
  • assembler  · 技术社区  · 6 年前

    它生成了以下创建方法:

    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 param返回与中相同的视图 @省 .

    1 回复  |  直到 6 年前
        1
  •  0
  •   assembler    6 年前

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

    这对我很有效。