我正在遵循Rails 教程,在注册表单中,如果提交了无效的用户信息,则应该重新呈现注册页面并显示错误消息,但实际上并没有。看来即使注册页面是由 渲染的"render \'new\'",传递给它的@user 也是空的。如何解决这个问题?
请注意,本教程使用 Rails 6,但我实际上使用的是 Rails 7.0.2.3 和 Ruby 3.1.1。不确定这是否是原因。
\n应用程序/控制器/user_controller.rb
\nclass UsersController < ApplicationController\n def new\n @user = User.new\n end\n\n def create\n @user = User.new(user_params)\n if @user.save\n else\n render \'new\'\n end\n end\n\n def show\n @user = User.find(params[:id])\n end\n\n private\n\n def user_params\n params.require(:user).permit(:name, :email, :password, :password_confirmation)\n end\nend\nRun Code Online (Sandbox Code Playgroud)\n应用程序/视图/用户/new.html.erb
\n<% provide(:title, \'Sign up\') %>\n<h1>Sign up</h1>\n\n<div class="row">\n <div class="col-md-6 col-md-offset-3">\n <%= form_with(model: @user, local: true) do |f| %>\n <%= render …Run Code Online (Sandbox Code Playgroud)