Forum: Radiant CMS Radiant Issue Served by Litespeed 3.1

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
E141d56a20e64d95b1e48f0b4703f94c?d=identicon&s=25 Benjamin Minton (Guest)
on 2007-04-03 08:31
(Received via mailing list)
Hi,

I have the Radiant CMS running from a Litespeed 3.1 Webserver and the
current url is http://my.slice.ip.address/admin/welcome which is good.

Unfortunately there is no Admin Login screen, only this =>
Application error (Apache)

Change this error message for exceptions thrown outside of an action
(like
in Dispatcher setups or broken Ruby code) in public/500.html
So it seems that Radiant is being served correctly into the $VH_ROOT of
the
webserver (/srv/www/radiant/) but it is not seeing the appropriate view.

Is this a correct assumption?

Cheers, Ben.
6ec6f77ea603dd75b3a7a7775b059e79?d=identicon&s=25 John W. Long (Guest)
on 2007-04-03 17:49
(Received via mailing list)
Benjamin Minton wrote:
> Unfortunately there is no Admin Login screen, only this =>
> Application error (Apache)

Whenever you see an Application Error on a Rails app it's an indication
that you should check the logs to see if you can find the actual error
that is being thrown. That will generally tell you a lot about what the
problem is.

--
John Long
http://wiseheartdesign.com
7f85ce9d3a9ef1e91534fa9e911fccb1?d=identicon&s=25 Adam Salter (Guest)
on 2007-04-04 01:59
(Received via mailing list)
Hey all,
I'm helping Andrea Franz work on his fantastic Gallery Extension:
http://darcs.bigchieflabs.com/radiant/extensions/gallery/
(download with 'darcs' - http://darcs.net)


Anyway I'm trying to add some globally available tags to it:

There is a Model declared thus:
class Gallery < ActiveRecord::Base
   has_many :items,
     :class_name => 'GalleryItem'
  <snip>
end

And I have made a module in the extension /lib called gallery_tags.rb
which contains this (fake example)...

module GalleryTags
   #tags available globally, not just on GalleryPages
   include Radiant::Taggable

   tag "mytag" do |tag|
     if tag.attr["id"]
       tag.locals.gallery = Gallery.find_by_id tag.attr["id"]
     tag.expand
   end

   tag "anothertag" do |tag|
     tag.locals.gallery.name
   end

   <snip>
end

added to the extension with:
   def activate
     admin.tabs.add "Galleries", "/admin/gallery", :after =>
"Layouts", :visibility => [:all]
     Page.send :include, GalleryTags
   end

yet when I do this in a page:

<r:mytag id='1'>
<r:anothertag>
</r:mytag>

I get this:
You have a nil object when you didn't expect it! The error occurred
while evaluating nil.name


It seems that tag.locals.gallery is being set to nil in between the
tag calls... I can't work out why because other extensions seem to do
similar things... it's very confusing.

Any help much appreciated.

Thanks,
-Adam
E91bbb5eae81347ed57880eea764c0f9?d=identicon&s=25 Keith Bingman (Guest)
on 2007-04-04 09:12
(Received via mailing list)
You need to call the id in both tags. I know it is a little
counterintuitive, but the id tag is not being passed to the first
tag, just the second. I banged my head on this for a few days, try it
like this:

tag "mytag" do |tag|
    if tag.attr["id"]
      tag.locals.gallery = Gallery.find_by_id tag.attr["id"]
    tag.expand
end

tag "anothertag" do |tag|
    gallery = Gallery.find_by_id tag.attr["id"] || tag.locals.gallery
    gallery.name
end

This should work, but I haven't tested it, so I make no promises.
You  may want to add a some sort of error handling in there in case
no id is found.

Keith Bingman
keith@keithbingman.com
Tel: +49-7731-7983830
7f85ce9d3a9ef1e91534fa9e911fccb1?d=identicon&s=25 Adam Salter (Guest)
on 2007-04-04 11:37
(Received via mailing list)
Keith,

This didn't work.

I'm going to work around it by doing:
<r:anothertag id='1' />
<r:yetanothertag id='1' />

for the moment... but it's not going to work in the long run... is
there a way to force/pass or create your own variables?

e.g
tag "mytag" do |tag|
    if tag.attr["id"]
      tag.locals.gallery = Gallery.find_by_id tag.attr["id"]
    tag.expand { "id" => "1"}
end

...or...

tag "mytag" do |tag|
    if tag.attr["id"]
      tag.locals.my_gallery = Gallery.find_by_id tag.attr["id"]
    tag.expand
end

...or...

tag "mytag" do |tag|
    if tag.attr["id"]
      tag.globals.gallery = Gallery.find_by_id tag.attr["id"]
    tag.expand
end

Thanks in advance,
-Adam
7f85ce9d3a9ef1e91534fa9e911fccb1?d=identicon&s=25 Adam Salter (Guest)
on 2007-04-04 13:06
(Received via mailing list)
I think I've worked it out...

Basically tag.locals is a "virtual" (don't know correct name) method...
so if you want tag.locals.item.name you should first assign
tag.locals.item to a variable and then query that variable:
i.e.
item = tag.locals.item
return item.name

you can assign with tag.locals.item =, but not tag.locals.item.name =
for example.

brackets might work like:
(tag.locals.item).name

haven't tested that.

Cheers,
-Adam
This topic is locked and can not be replied to.