2012-10-23 41 views
0

我是新的紅寶石和紅寶石在軌道上,所以我想知道,爲什麼這個代碼不工作! (我來自PHP://)。不能選擇db計數軌道

class SayController < ApplicationController 
    def hello 
     # function for user data 

     if (params[:username] != nil && params[:password] != nil) 
      if (params[:username].length > 3 && params[:password].length > 3) 
       @err = 0 
      else 
       @err = 1 
      end 

      if (@err == 1) 
       @messege = "Hey, yor username Must be longer that 3 charasters." 
      else 
       @messege = "Ok, We will check your user data" 

       result = Users.count(:username => params[:username], :password => params[:password]) 

        if (result == 1) 
         @l = "Hey, #{params[:username]}." 
        else 
         @l = "Users data was wrong." 
        end 
      end 
     else 
      @messege = "Please fill in the text fields." 
     end 
    end 

    def goodbye 
    end 

end 

和錯誤:

ArgumentError in SayController#hello 

未知的關鍵:用戶名

Rails.root:/家庭/ CDR/perku 應用程序跟蹤|框架跟蹤|完整曲線

應用程序/控制器/ say_controller.rb:17:在`你好」

請求

參數:

{ 「用戶名」=> 「asdasdasdasdaaasdfda」, 「密碼」= > 「[FILTERED]」}

顯示會話轉儲

顯示ENV轉儲 響應

頁眉:

+0

你有所謂的用戶名在用戶表中的字段名Rails是不是能夠找到屬性這就是爲什麼它拋出這個錯誤 – Raghu

+0

類調​​用createUsers user1609394

+0

,您可以檢查您的數據庫,並確保耙實際創建的那些領域? – Raghu

回答

2
result = Users.where("username = ? and password = ?", 
    params[:username], params[:password]).count 
+0

非常感謝你:) – user1609394