我目前正在尝试将访客用户/记录添加到我的应用程序中,并且遇到一些难以设计的问题。我试图按照http://railscasts.com/episodes/393-guest-user-record上的教程进行操作,但如果用户是访客,则在绕过电子邮件,密码和用户名的设计验证时会陷入困境。在大约5点40分的视频教程中,他很快就提到了设计,但我对如何实现这一变化感到很失落。谢谢您的帮助。
更新**这是我的代码。谢谢你的帮助。
这是我在users_controller.rb下的创建操作
def create
@user = params[:user] ? User.new(params[:user]) : User.new_guest
if @user.save
current_user.move_to(@user) if current_user && current.user.guest?
session[:user_id] = @user.id
redirect_to root_url
else
render "new"
end
end
以下是我的user.rb
中的代码validates_presence_of :username, unless: :guest?
validates_uniqueness_of :username, :email, allow_blank: true
以下是启动访客记录的链接
<%= button_to "Try it!", users_path, method: :post %>
我得到的错误是
3 errors prohibited this user from being saved:
Email can't be blank
Password can't be blank
Username can't be blank
答案 0 :(得分:0)
您可能收到“不能为空”错误,因为不允许通过Devise控制器参数,因为它们未被列为允许的参数?
https://github.com/plataformatec/devise#strong-parameters
检查日志中的“未授权参数”错误,看看是否存在问题。