我创建了一个铁路应用程序 我正在连接到mysql数据库
我已经有2个表用户和历史记录
如何从这些表中获取数据 我可以将数据保存到数据库 与
def register
if(params[:register])
@registermsg=Users.where(:username=>params[:register][:username])
if @registermsg.length>0
flash[:success] = "Username exists:#{params[:username]}:"
else
@reg = Users.create(user_params)
@reg.save
flash[:success] = "success:#{params[:register][:username]}:"
end
end
end
def user_params
params.require(:register).permit(:username, :password, :password2)
end
但是当我从用户那里获取数据时
def login
if session[:user]
redirect_to '/dash'
end
if(params[:login])
@login1=Users.where("username=? AND password=?",params[:login][:username],params[:login][:password])
if @login1.length==1
session[:user] = @login1
hist = History.create(userid: **@login1.id**, ip: request.remote_ip )
// here @login1.id is giving me error
redirect_to '/dash'
else
flash[:success] = "Wrong"
end
end
end
@ login1 = Users.where(" username =?AND password =?",params [:login] [:username],params [:login] [:password])
@ login1.to_yaml正在打印完整数据 如何从@ login1
获取id,用户名等目前@ login1.id正在收到错误
我在许多网站上研究过包括堆栈溢出到现在为止我没有得到任何解决方案请帮助
答案 0 :(得分:2)
此处@login1
是ActiveRelation
个对象。您必须致电first
以获取实际的用户对象
if @login1.count==1
session[:user] = @login1.first
hist = History.create(userid: @login1.first.id, ip: request.remote_ip )
redirect_to '/dash'