LoginEngine dying on Rails 1.1?


#1

Hi all.

I just finished upgrading a small Rails toy application to Rails 1.1 and
it
seems that LoginEngine no longer works. I have upgraded the Engines
plugin
using an svn checkout of the rel_1.1.0, and while the Engines plugin
seems
to work fine (as does the UserEngine), the LoginEngine simply doesn’t do
much of anything any more.

For instance, if I try to login, I’m simply redirected back to the login
page, even though the username and password is correct. There are no
flashes or anything indicating a bad login. Upon a successful login,
none
of the user information that would normally be stored in the session
ends
up getting stored. Other forms, such as the forgotten password form, are
similarly broken.

I tried messing around with the user_controller.rb, but any changes I
make
are just ignored. In fact, purposefully inserting syntax errors into the
file or renaming it completely doesn’t even seem to have any effect on
the
situation.

I have no idea why the controller is just being ignored outright. I can
make
changes to the views and they appear fine, but it’s like the controller
isn’t even there.

Anybody seeing anything remotely similar?

If it helps, I’m using Ruby 1.8.4, Rails 1.1, Apache 1.3.34 and FastCGI
2.4.0. I’m experiencing the problem both with FastCGI enabled and plain
ol’
non-Fast-CGI. Engines, UserEngine and LoginEngine are all up-to-date
checkouts.

Cheers.

J


#2

J Smith wrote:

page, even though the username and password is correct. There are no
I have no idea why the controller is just being ignored outright. I can
Cheers.

J

Well, I was able to get around this problem, but it seems that what I
was
experiencing was something similar to ticket #53.

I ended up copying the contents of user_controller.rb from UserEngine
and
pasted it into the user_controller.rb script for LoginEngine and moved
the
UserEngine file out of the way. Now everything seems to work.

Is this a legitimate bug, or am I doing something ridiculously wrong? I
have
checked and re-checked my configuration and removed and reinstalled the
Engines, UserEngine and LoginEngine several times, but this was the only
way I could get everything to work properly again. There seems to be
something screwy with how Engines is doing the overriding of the
controllers, as if methods were being ignored or something.

Am I alone in seeing this? I guess that would indicate that I’m the
problem
here and not Engines, but I’ve exhausted my debugging ability to come up
with this workaround…

J


#3

I am having the same problem here. I tried to do what you said but no
luck; I still can’t create users.

Could you please tell me how you managed to merge the two files
together?


#4

I think I got the user creation to work by commenting out the

User.transaction(@user) do

After reading about transactions on api.rubyonrails.com it didn’t make
much sense why one would have a transaction there because there is only
transaction. I did the same for the sign up which is in the
user_controller.rb in login_engine and it worked too…

Oh, I wish that I could have found that out earlier…


#5

J Smith wrote:

page, even though the username and password is correct. There are no
I have no idea why the controller is just being ignored outright.

I ended up copying the contents of user_controller.rb from UserEngine
and
pasted it into the user_controller.rb script for LoginEngine and moved
the
UserEngine file out of the way. Now everything seems to work.

Thanks! I’ve had the same problem and I’ve been trying to work it out
for hours, lol. The fix you gave there sorted all of the issues I was
having, cheers.

To possibly shed some further light on the subject I managed to track it
down to running under FastCGI, if I ran exactly the same code under SCGI
everything worked perfectly.

Kev


#6

Thanks! I’ve had the same problem and I’ve been trying to work it out
for hours, lol. The fix you gave there sorted all of the issues I was
having, cheers.

To possibly shed some further light on the subject I managed to track it
down to running under FastCGI, if I ran exactly the same code under SCGI
everything worked perfectly.

Kev

hi, Kev
I got the same problem…when I input something and submit,nothing
happened,no flash notice,no error showin up
I googled this page,and tried his way(the_copy_past_thing)…but still
can’t work

would you please tell me how to copy "the contents of user_controller.rb
from UserEngine and pasted it into the user_controller.rb script for
LoginEngine "

thank in advance

batz
06/05


#7

I was also bitten by this, during a site migration from a host that used
lighttpd to one that used apache+fastcgi. I can confirm that switching
to slowcgi fixes it (at least temporarily).


#8

Roland M. wrote:

I think I got the user creation to work by commenting out the

User.transaction(@user) do

After reading about transactions on api.rubyonrails.com it didn’t make
much sense why one would have a transaction there because there is only
transaction. I did the same for the sign up which is in the
user_controller.rb in login_engine and it worked too…

Oh, I wish that I could have found that out earlier…

I took your suggestion and it worked too. My problem is it worked for
couple days and then failed without any error. What i also isolated out
is that the transaction does not work between rails 1.1 and the login
engine. Our other stuff that uses transactions and works fine.

Thanks.


#9

Roland M. wrote:

I think I got the user creation to work by commenting out the

User.transaction(@user) do

After reading about transactions on api.rubyonrails.com it didn’t make
much sense why one would have a transaction there because there is only
transaction. I did the same for the sign up which is in the
user_controller.rb in login_engine and it worked too…

Oh, I wish that I could have found that out earlier…

I can confirm that on a Win2K box with mongrel running as a Win32
service, I was having problems with any code whatsoever on Rails 1.1.6
and the latest release of user_engine touching transactions. I had to
remove transaction code from
login_engine/app/controllers/user_controller.rb as well, and I saw the
effects on ALL actions involving transaction - deleting users, editing
roles, changing password, etc.

All fixed since removing the transaction code.