渲染另一个控制器动作和填写表格

时间:2017-11-11 20:25:18

标签: ruby-on-rails simple-form ruby-on-rails-5.1 ruby-on-rails-5

当我提交表格时如果有错误,我们可以这样做:

def create
  @proposal = Proposal.new(proposal_params)
  if @proposal.save
    redirect_to @proposal
  else
    render :new
  end
end

但我的表单正在提交另一个控制器操作

我怎样才能得到相同的结果呈现:其他控制器的新动作传递前一个的id以显示表单错误并使用给定文本显示表单。

如果我做的话:

def create
  @proposal = Proposal.new(proposal_params)
  if @proposal.save
    redirect_to @proposal
  else
    redirect_to other_controller_path(@user)
  end
end

验证错误不会显示

1 个答案:

答案 0 :(得分:1)

将@ proposal.errors传递给flash中的重定向:

redirect_to other_controller_path(@user), notice: @proposal.errors或其他内容,具体取决于您在应用中设置错误的方式。