Strange error while using Authlogic

Hi to all,
i have installed authlogic as shown in this tutorial http://www.dixis.com/?p=352.
The fields i have used are t_login, t_password, t_name,
t_password_salt, t_persistence_token.

When i go to home#index, i get this error:

NameError in HomeController#index

uninitialized constant Authlogic
...
Application Trace | Framework Trace | Full Trace
app/models/user_session.rb:1
app/controllers/application_controller.rb:10:in `current_user_session'
app/controllers/application_controller.rb:16:in `current_user'
app/controllers/application_controller.rb:21:in `require_user'
....

Do you know what this comes from???

Thank you in advance
Kostas L.

Anyone??? Any ideas??? I really cant find a sollution in the web...

Uninitialized constant usually means that the the module hasn't been
loaded into the Rails environment. Adding an initializer file might fix
it, but it seems to me that this shouldn't be necessary with Authlogic.
Make sure you're using the most updated version of Authlogic.

# config/initializers/authlogic.rb
require ' authlogic'

Hi,
i have installed Authlogic using gem "authlogic" in the gemfile. I
also run bundle install and i did not got an error.

I have created an new application from scratch and now i get the
following error:
NoMethodError in User_sessions#new

Showing G:/.../AuthlogicTest/app/views/user_sessions/new.html.erb
where line #6 raised:

Model UserSession does not respond to t_login
Extracted source (around line #6):

3: <%= form_for @user_session, :url => {:action => "create"} do |f|%>
4: <%= f.error_messages%>
5: <%= f.label :t_login%>
6: <%= f.text_field :t_login%>
7: <%= f.label :t_password%>
8: <%= f.password_field :t_password%>
9: <%div%>

I havent found a sollution yet......

Any ideas??
Thank you again

Is there a t_login column in the UserSession table?
Are you sure? Did you remember to run the migration to add it?
If the answer is yes then please post schema.rb and user_session.rb
If that is large then use pastie.org

Colin

Hi,
My project does not have an authlogic.rb file to write the require
"authlogic" line.....
What i have done is i have installed authlogic in the gemfile using
gem 'authlogic', :git => 'git://github.com/odorcicd/
authlogic.git', :branch => 'rails3'. Then i run the command bundle
install and i didn't got any errors.

I have created from scratch a new application and now i get the
following errors:
NoMethodError in User_sessions#new

Showing G:/.../AuthlogicTest/app/views/user_sessions/new.html.erb
where line #6 raised:

Model UserSession does not respond to t_login
Extracted source (around line #6):

3: <%= form_for @user_session, :url => {:action => "create"} do |f|%>
4: <%= f.error_messages%>
5: <%= f.label :t_login%>
6: <%= f.text_field :t_login%>
7: <%= f.label :t_password%>
8: <%= f.password_field :t_password%>
9: <%div%>

When i comment out the text and password field i see the form but with
no fields.
I havent found a sollution yet. I googled the problem but nothing.
Any other idea??

Thanks again!

Hi colin,
i dont see any UserSession table...

That's ok (I had forgotten how authlogic works).
Lets try again then :slight_smile:
Why have you got t_login and t_password in your view? Should it not
just be :login and :password?

Colin

Hi colin,
i have used these names because i have already created a php
application using these names and i want to create the same
application in rails.
Its for a project in my university.
I dont want to have different field names ..
Do you think the problem is the names??? I dont think so...

Kostas

Please don't top post, it makes it difficult to follow the thread.
Insert your reply into the previous post. Thanks

Hi colin,
i have used these names because i have already created a php
application using these names and i want to create the same
application in rails.
Its for a project in my university.
I dont want to have different field names ..
Do you think the problem is the names??? I dont think so...

Well the error message is NoMethodError, Model UserSession does not
respond to t_login which is saying the UserSession does not have a
method t_login, which suggests to me that the name is the problem.
Have you done something somewhere else in your code to tell Authlogic
to expect the different names?

It is easy enough to see if this is the problem here, just change
those few lines of code and see if that error goes away.

Colin

Hi colin,

as i have seen, authlogic does require default names like login, password etc. I was using t_login and t_password as i result getting these errors.

I re-created my table with the new fields and everything works fine!!!

Home that helps someone else getting the same errors!!!

Thank you for your help!

Kostas
Κωνσταντίνος Λούπος
louposk@gmail.com

Hi colin,
as i have seen, authlogic does require default names like login, password etc. I was using t_login and t_password as i result getting these errors.

I re-created my table with the new fields and everything works fine!!!

You can also tell authlogic what fields to use if you don’t want to rename it… either way…

-philip