Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с отображением flash, с залогиванием юзер 
:(
    Опции темы
NeLd
Дата 6.8.2007, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 10.7.2007

Репутация: нет
Всего: нет



Проблема с отображением flash, с залогиванием юзеров.

Вот код(все скопипастено из книжки agile webdev):

Код

class LoginController < ApplicationController
  def add_user
    @user = User.new(params[:user])
    if request.post? and @user.save
      flash.now[:notice] = "User #{@user.name} created"
      @user = User.new
    end
  end

  def login
    session[:user_id] = nil
    if request.post?
        user = User.authenticate(params[:name], params[:password])
        if user
            session[:user_id] = user.id
            redirect_to(:action => "index")
        else
            flash[:notice] = "Invalid user/password combination"
        end
    end
  end
 

Ошибка "Invalid user/password combination" почему-то отображается на странице админки, которая была создана с помошью scaffold:

Код

class AdminController < ApplicationController
     scaffold :user
end


Сообщение об успешном создании юзера не отображается ни где(однако я в админке вижу, что юзверь был успешно создан), а залогиниться вообще не получается. Подскажите в чем дело, пожалуйста.
Вот код странички с логином, на всякий случай:

Код
    
<h1>Login#login</h1>
<div class="depot-form">
<%= error_messages_for 'user' %>
<fieldset>
<legend>Login</legend>
<% form_for :user do |form| %>
<p>
<label for="name">Name:</label>
<%= form.text_field :name, :size => 40 %>
</p>
<p>
<label for="password">Password:</label>
<%= form.password_field :password, :size => 40 %>
</p>
<%= submit_tag "Let me in!", :class => "submit" %>
<% end %>
</fieldset>
</div>
<p>Find me in app/views/login/login.rhtml</p>

Кусок класса Юзверь:
Код

class User < ActiveRecord::Base
    validates_presence_of :name
    validates_uniqueness_of :name
    attr_accessor :password_confirmation
    validates_confirmation_of :password
    def validate
        errors.add_to_base("Missing password") if hashed_password.blank?
    end
    def self.authenticate(name, password)
        user = self.find_by_name(name)
        if user
            expected_password = encrypted_password(password, user.salt)
            if user.hashed_password != expected_password
                user = nil
            end
        end
        user
    end

p.s. Все нашел ошибку. надо же сначала куда то запостить =)

Это сообщение отредактировал(а) NeLd - 7.8.2007, 12:21
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby on Rails"
source777
  • С чего начать? начинаем
  • Документацию смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby On Rails | Следующая тема »


 




[ Время генерации скрипта: 0.0578 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.