呈现启动更新的操作

Seb*_*ian 5 ruby-on-rails render

我有一个带有操作帐户配置文件SettingsController,还有一个如下所示的更新:

  def update
    @player = current_user
    if @player.update_attributes(params[:player])
      flash[:success] = "Profile updated."
      redirect_to :back
    else
      @title = "Edit"
      render
    end
end
Run Code Online (Sandbox Code Playgroud)

现在,配置文件和帐户操作都有一个相应的视图,其中包含一个用于编辑播放器模型的某些记录的表单.

当您尝试保存其中一个表单时,它会失败,即.它没有通过验证,它应该呈现再次初始化更新的操作,因此它可以显示适当的错误消息.

但问题是,我如何知道哪一个请求更新,并呈现正确的更新?基本上某种等效的redirect_to:back就是我在这里寻找的东西.

apn*_*ing 18

这很丑,但有效:)

render Rails.application.routes.recognize_path(request.referer)[:action]
Run Code Online (Sandbox Code Playgroud)

  • 你是一个疯狂的科学家. (9认同)