undefined метод `активирован?'

Я пытаюсь внедрить Authlogic в Rails 3, и у меня только что болит голова за головкой... Я чрезвычайно новичок в рельсах, поэтому, пожалуйста, прости меня за то, что я не эксперт. Я следил за Railscast на предмет, который был действительно полезен, но как только я отправляю свою форму создания нового пользователя через фактический веб-сайт, я получаю это:

undefined method `activated?'

app/controllers/users_controller.rb:37:in `create'

Любая помощь будет очень признательна... у меня была головная боль с этим вечером...

Код из метода создания:

  def create
    @user = User.new(params[:user])
    if @user.save
      flash[:notice] = "Registration successful."
    else
      render :action => 'new'
    end
  end

2 ответа

Решение

Если кто-то еще столкнется с этой проблемой - восстановите модель user_session и заполните ее:

class UserSession < Authlogic::Session::Base 
  def to_key 
    new_record? ? nil : [ self.send(self.class.primary_key) ] 
  end 
end

Это исправило это для меня... кажется, что ошибка этой модели, по крайней мере, так что вернемся к основам!

Для меня проблемой было существование таблицы user_sessions. Если вы создали модель UserSession с помощью генератора, у вас есть миграция, которая создает эту таблицу.

Простое удаление таблицы (как в тестовой базе данных, так и в базе данных разработки) и файла миграции решило проблему для меня.

Ура,

- Хосе

Другие вопросы по тегам