2009-09-16 3 views
0
(rdb:1) @account_session = AccountSession.new 
# => <AccountSession: no credentials provided> 
(rdb:1) @account_session.errors 
# => <Authlogic::Session::Validation::Errors:0x213cc78 @errors={}, @base=#<AccountSession: no credentials provided>> 

Как предотвратить это? Также обратите внимание, что учетные данные не могут быть предоставлены заранее, потому что они заполнят: новую форму с (неправильными) данными. Новая форма входа должна быть пустой.AuthLogic автоматически загружает ошибки в @base и заполняет эти ошибки в форме сигнала

ответ

0

Я воспроизвел это на установке ванили Rails, которая содержит только AuthLogic. Он показал, что поведение, описанное в этом вопросе, на самом деле является поведением AuthLogic. Мне это не нравится, потому что вызов #new на модели не должен приводить к ошибкам, если их не существует. И это также напугано, если форма имеет элементы пользовательского интерфейса, которые показывают стилистику ошибок для ошибок @base. Я расскажу об этом по вопросам github gem.

+0

Мое сообщение для владельца AuthLogic: ... Зачем добавлять ошибки @base в новый экземпляр сеанса? ... Я собираюсь развернуть Authlogic, чтобы удалить это поведение. ... Gavin Его ответ: Я согласен, я посмотрю, что я могу сделать, чтобы изменить это. Благодарю. – Gavin

0

Вы подтверждаете свою модель в одном из своих методов/перед фильтрами и т. Д.?