2009-11-23 14 views
1

я после учебника: http://visionmasterdesigns.com/tutorial-create-a-login-system-in-ruby-on-rails/ создать страницу входапроблемы входа страницы рубин на рельсах

, когда я пытаюсь сделать эту часть:

def authenticate 
02.  #User.new(params[:userform]) will create a new object of User, retrieve values from the form and store it variable @user. 
03.  @user = User.new(params[:userform]) 
04.  #find records with username,password 
05.  valid_user = User.find(:first,:conditions => ["user_name = ? and password = ?",@user.user_name, @user.password]) 
06. 
07.  #if statement checks whether valid_user exists or not 
08.  if valid_user 
09.  #creates a session with username 
10.   session[:user_id]=valid_user.user_name 
11.  #redirects the user to our private page. 
12.   redirect_to :action => 'private' 
13.  else 
14.   flash[:notice] = "Invalid User/Password" 
15.   redirect_to :action=> 'login' 
16.  end 
17.end 

и запустить его с правильным именем пользователя и Логин, он говорит мне, что

ActiveRecord :: RecordNotFound в UsersController # частное

Не удалось найти пользователя с ID = личное

Я хочу, чтобы перенаправить на страницу private.html.erb не искать его!

Спасибо за любую помощь

+0

У вас есть «частный» метод в вашем контроллере? –

+0

На каком этапе вы участвуете в учебнике? Шаг 7 добавляет частный метод к контроллеру. – StevenWilkins

+0

afaik частный метод в контроллере - это только то, что только зарегистрированные пользователи могут получить доступ к странице private.html.erb – Lilz

ответ

3

Я думаю, что вы хотите render :action => 'private' вместо редиректа.

+0

СПАСИБО ВАМ ТАК! ОЧЕНЬ ОЧЕНЬ ОЧЕНЬ ОЦЕНКА! – Lilz

Смежные вопросы