我正在做一个ruby on rails教程,突然转到注册页面返回:
任何人都知道修复?或者就此而言出了什么问题?它看起来非常突然,我认为我没有改变任何会影响注册页面的内容......
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def create
@user = User.new(user_params)
if @user.save
redirect_to @user
else
render 'new'
end
end
private
def user_params
params.require(:user).permit(:name, :email, :password,
:password_confirmation)
end
end
答案 0 :(得分:1)
这意味着您的@user
对象未初始化..
您需要初始化@user
变量。这里有几个选项。
确保您的new
方法在UsersController
课程中对其进行初始化:
def new
@user = User.new
end
另一种选择是在表单中使用新对象:
<%= form_for(User.new) do |f| %>
还有另一个选择,就是在您的视图中,在回显form_for
之前,放置:
<% @user = User.new %>
我最好的建议是将变量放在控制器中,就像我在第一个例子中所做的那样。