rails - URL与视图不匹配

时间:2016-10-07 15:50:54

标签: ruby-on-rails ruby

我的rails应用程序中有一些奇怪的东西,如果表单格式错误,我会尝试将用户重定向到特定页面。它有效,但URL与视图不匹配。

我使用rails g scaffold User生成的文件。我在模型文件中添加了特定条件来检查用户输入以查看表单是否格式正确,如果没有,则将其重定向到连接视图。

我在两个不同的控制器之间重定向

所以我转过身了(app / controller / users_controller.rb):

  def create
    @user = User.new(user_params)

    respond_to do |format|
      if @user.save
        format.html { redirect_to root_path, notice: 'User was successfully created.' }
        format.json { render :show, status: :created, location: @user }
      else
        format.html { render :new }
        format.json { render json: @user.errors, status: :unprocessable_entity }
      end
    end
  end

进入这个:

  def create
    @user = User.new(user_params)

    respond_to do |format|
      if @user.save
        format.html { redirect_to root_path, notice: 'User was successfully created.' }
        format.json { render :show, status: :created, location: @user }
      else
        format.html { render :template => 'pages/connection' }
        format.json { render json: @user.errors, status: :unprocessable_entity }
      end
    end
  end

我尝试了,我已经很好地重定向到 pages / connection.rb ,但我浏览器中的网址是:http://url:8080/users而不是http://url:8080/connection。因此,如果我刷新,它会将 pages / connection.rb 留给 users /

此外, model / user.rb 的错误消息也未显示。

我的代码中出了什么问题?

1 个答案:

答案 0 :(得分:0)

您正在渲染模板页面/连接,您没有将用户重定向到另一个控制器。

format.html { render :template => 'pages/connection' }

渲染和重定向不一样