论坛首页 编程语言技术论坛

rails用户登陆的例子

浏览 4868 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-11-03  
是其他人的例子,修改了转下,遇到问题了,是不是因为user名字和数据库关键字冲突的问题?
users表
id int not null,                                 
user varchar(100) not null ,                    
password char(10) not null,
primary key(id)

lg_controller.eb
class LgController <ApplicationController
def login
   unless request.get?
       @users = User.find(:all,:conditions=>["user=?",params[:user]])
       if @users.empty?
           render_text  "NO such User"
           elsif @users[0].password==params[:password]
             render_text "Login Success!"
            else
             render_text "Wrong Password!"
       end
      end
   end
end

login.rhtml我用了三中方法,第一个是HTML版,可以成功,如下:
<%= start_form_tag :action=>"login" %>
name:<input name="user" type="text">
pswd:<input name="password" type="text"><br />
<input type="submit" value="Login  IN"><br />
<%= end_form_tag %
第二个版本和第三个版本都是RAILS版
2:
<% form_for  :user ,:url=>{:action=>:login} do |f|%>
name:<%= f.text_field  :user %>
password:<%= f.password_field  :password %><p>
<%= submit_tag  "Login IN"%> <%end%>
3:
    <%= form_tag :action=>:login %>
name:<%= text_field :user, :user %>
password:<%= password_field  :user,  :password %><p>
        <%= submit_tag  "Login  IN"%><p>
       <%= end_form_tag %></p>
当输入进行登陆以后报错
Mysql::Error: #21000Operand should contain 1 column(s): SELECT * FROM users WHERE (user='--- \n- user\n- sddd\n','--- \n- password\n- \"\"\n')
请大家帮帮找找原因.
   发表时间:2007-11-05  
把params[:user]改成params[:user][:user]
及params[:password]改成params[:user][:password]试试
0 请登录后投票
   发表时间:2007-11-05  
谢谢你啊,OK了,好高兴,非常感谢!
0 请登录后投票
   发表时间:2007-11-16  
我们做登陆可以用个插件restful_anthentication,楼主可以去试试
0 请登录后投票
   发表时间:2007-11-16  
好的,谢谢你的建议
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics