Html 在Rails中加载注册页时自动填充表单字段
我有此注册表单代码(控制器添加在下面):Html 在Rails中加载注册页时自动填充表单字段,html,ruby-on-rails,erb,Html,Ruby On Rails,Erb,我有此注册表单代码(控制器添加在下面): 尽管我设置了占位符(占位符:“…”),但当我加载页面时,它会自动填充一些个人值-电子邮件+密码。 用于创建用户的控制器代码如下所示: class UsersController <ApplicationController before_action :set_user, only: [:show, :edit, :update, :destroy] before_action :require_user, only: [:
尽管我设置了占位符(占位符:“…”),但当我加载页面时,它会自动填充一些个人值-电子邮件+密码。
用于创建用户的控制器代码如下所示:
class UsersController <ApplicationController
before_action :set_user, only: [:show, :edit, :update, :destroy]
before_action :require_user, only: [:edit, :update]
before_action :require_same_user, only: [:edit, :update, :destroy]
def show
@articles = @user.articles.paginate(page: params[:page], per_page: 2)
end
def index
@users = User.paginate(page: params[:page], per_page: 2)
end
def new
@user = User.new
end
def edit
end
def update
if @user.update(user_params)
flash[:notice] = "Your account information was successfully updated."
redirect_to @user
else
render 'edit'
end
end
def create
@user = User.new(user_params)
if @user.save
session[:user_id] = @user.id
flash[:notice] = "Welcome to the Alpha Blog #{@user.username}, you have successfully signed up."
redirect_to articles_path
else
render 'new'
end
end
def destroy
@user.destroy
session[:user_id] = nil if @user == current_user
flash[:notice] = "Account and all associaed articles successfully deleted."
redirect_to articles_path
end
private
def user_params
params.require(:user).permit(:username, :email, :password) #whitelisting
end
def set_user
@user = User.find(params[:id])
end
def require_same_user
if current_user != @user && !current_user.admin?
flash[:alert] = "You can only edit or delete your own profile"
redirect_to @user
end
end
end
class users控制器form\u with(model:@user,
使用@user
变量中的任何内容构建表单
假设您有这样一个用户:
$@user=user.first
> #
在这种情况下,带有
字段的表单_将使用表单中的现有记录值
如果已在此视图的控制器操作中创建了新用户:
$@user=user.new
> #
那么表单字段应该为空
如何测试这是否是问题:
将您的@user
替换为用户。新建:
在原始帖子中添加了它。谢谢。谢谢。在控制器中创建了一个新用户,名为user.new(如您所述)。我用控制器更新了原始帖子。但是,它还是被填充了。这没什么大不了的。它可能是chrome,因为我在Safari中看到的一些教程没有。
class UsersController <ApplicationController
before_action :set_user, only: [:show, :edit, :update, :destroy]
before_action :require_user, only: [:edit, :update]
before_action :require_same_user, only: [:edit, :update, :destroy]
def show
@articles = @user.articles.paginate(page: params[:page], per_page: 2)
end
def index
@users = User.paginate(page: params[:page], per_page: 2)
end
def new
@user = User.new
end
def edit
end
def update
if @user.update(user_params)
flash[:notice] = "Your account information was successfully updated."
redirect_to @user
else
render 'edit'
end
end
def create
@user = User.new(user_params)
if @user.save
session[:user_id] = @user.id
flash[:notice] = "Welcome to the Alpha Blog #{@user.username}, you have successfully signed up."
redirect_to articles_path
else
render 'new'
end
end
def destroy
@user.destroy
session[:user_id] = nil if @user == current_user
flash[:notice] = "Account and all associaed articles successfully deleted."
redirect_to articles_path
end
private
def user_params
params.require(:user).permit(:username, :email, :password) #whitelisting
end
def set_user
@user = User.find(params[:id])
end
def require_same_user
if current_user != @user && !current_user.admin?
flash[:alert] = "You can only edit or delete your own profile"
redirect_to @user
end
end
end