Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 更新后的条件重定向_Ruby On Rails_Ruby On Rails 3_Forms_Redirect - Fatal编程技术网

Ruby on rails 更新后的条件重定向

Ruby on rails 更新后的条件重定向,ruby-on-rails,ruby-on-rails-3,forms,redirect,Ruby On Rails,Ruby On Rails 3,Forms,Redirect,我想在RubyonRails3.1中做一个有条件的更新 根据您来自的位置,更新后将执行重定向。 将我的1个大表单拆分为多个小表单,现在的想法是重定向到正确的子表单 例如,表格可从以下地址提交: 基本资料表格 个人资料详情表格 我唯一能想到的就是检查动作名称并用它重定向。但是它的代码又长又丑,而且也不能完全正常工作。这样做有什么好处 这是我的控制器更新操作: def update @profile = Profile.find(params[:id]) respond_to

我想在RubyonRails3.1中做一个有条件的更新 根据您来自的位置,更新后将执行重定向。 将我的1个大表单拆分为多个小表单,现在的想法是重定向到正确的子表单

例如,表格可从以下地址提交:

  • 基本资料表格
  • 个人资料详情表格
我唯一能想到的就是检查动作名称并用它重定向。但是它的代码又长又丑,而且也不能完全正常工作。这样做有什么好处

这是我的控制器更新操作:

def update

    @profile = Profile.find(params[:id])

    respond_to do |format|

     if @profile.update_attributes(params[:profile])
        format.html { redirect_to @profile, notice: 'Profile was successfully updated.' }
      else
        format.html {
          render :action => "edit_basics"
          #

        }
      end
    end
  end

为什么不将重定向位置作为表单中的隐藏字段传递,然后让每个表单根据需要进行设置:

redirect_to params[:redirect_location]
如果您不想在HTML中公开原始字符串,也可以使用步骤或其他方法执行此操作:

redirect_to location_for_step(params[:step])

为什么不将重定向位置作为表单中的隐藏字段传递,然后让每个表单根据需要进行设置:

redirect_to params[:redirect_location]
如果您不想在HTML中公开原始字符串,也可以使用步骤或其他方法执行此操作:

redirect_to location_for_step(params[:step])
在视图中
在视图中