Forum: Radiant CMS undefined method `^' for "e":String

C8a872371f5f523e078a36f18438a0d5?d=identicon&s=25 Grant Sayer (gsayer)
on 2009-10-12 01:26
Hi

I'm getting the following error:

NoMethodError in Admin/pagesController#index
undefined method `^' for "e":String

The stack trace indicates that it's located in:
/usr/local/lib/ruby/gems/1.9.1/gems/radiant-0.9.0/lib/login_system.rb:33:in
`authenticate'

As for the environment.  I'm running
Ruby : ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-darwin10.0.0]
Rails : rails 2.3.4
Gem : 1.3.5
Radiant: radiant 0.9.0

The issue appears to be in the authentication and session checking.
This was an issue with rails 2.3.4, s per other postings, due to a
security fix.  I've patched my version of ruby, built from source on my
Mac OS X platform.

Does anyone have a fix or something that would workaround this issue ?

regards
grant
C8a872371f5f523e078a36f18438a0d5?d=identicon&s=25 Grant Sayer (gsayer)
on 2009-10-12 02:04
FYI - i've solved my own problem - that's a relief !!

Basically on further investigation (I re-read the stack trace a few
times :-))I realised that the problem is not with the install of
Radiant, but with the existing problem with Ruby.  I had previously
built the 1.9.1p243 version of Ruby and applied the patch described in :
https://rails.lighthouseapp.com/projects/8994/tick...

This patch deals with the change in ruby 1.9 whereby a string[index]
returns the character, whilst in ruby 1.8.x it returned the character
code.

When I installed Radiant it also used contained the Rails version under
the ./vendor/rails directory.  My install was kindly using this version
and not my patched version.  Thus the solution was to either patch the
'message_verifier.rb' file or remove the vendor/rails directory.

grant


Grant Sayer wrote:
> Hi
>
> I'm getting the following error:
>
> NoMethodError in Admin/pagesController#index
> undefined method `^' for "e":String
>
> The stack trace indicates that it's located in:
> /usr/local/lib/ruby/gems/1.9.1/gems/radiant-0.9.0/lib/login_system.rb:33:in
> `authenticate'
>
> As for the environment.  I'm running
> Ruby : ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-darwin10.0.0]
> Rails : rails 2.3.4
> Gem : 1.3.5
> Radiant: radiant 0.9.0
>
> The issue appears to be in the authentication and session checking.
> This was an issue with rails 2.3.4, s per other postings, due to a
> security fix.  I've patched my version of ruby, built from source on my
> Mac OS X platform.
>
> Does anyone have a fix or something that would workaround this issue ?
>
> regards
> grant
This topic is locked and can not be replied to.