Ian,

the first thing to do (imo) is to look for implementers of #navigationBar. I would guess there is none to be found in your image. That would mean you most probably don't have the code required for Seaside/Bootstrap loaded into your image. I am not a Pharo user, so I cannot tell you exactly how to load Seaside-Bootstrap in Pharo, but I am sure this is relatively easy to solve by the help of either Ecosia/DuckDuckGo/Yahoo or some Pharoer on this list.

The steps to follow:

1. See if the method is implemented somewhere in your image
2. Try to find out whether your are sending
    a. the wrong message to the right object
    b. the right message to the wrong object
    c. a message that should be understood by the reciever but isn't

I guess a) and b) can be excluded in your case, your code looks good to me. So the problem seems to be c).

I am pretty sure the Seaside-Bootstrap package is missing in your image, it adds extension methods to WAHtmlCanvas, and I guess #navigationBar is one of them...

HTH,

Joachim



Am 29.07.19 um 03:02 schrieb ian:
Hi All,

Hopefully this is an easy one?

I have been going through the MOOC exercises and have come across something I 
can't seem to figure out.

In the example the code reads:

----
renderExampleOn: html

| bar id|
        id := 'navbarSupportedContent'.
        bar := html navigationBar.
        bar beLight; expandLarge.
        bar background beLight.
        bar with: [
                html navigationBarBrand: 'Navbar'. ]

----

Mine reads exactly the same but errors in the browser with:

----

Seaside Walkback
MessageNotUnderstood: WAHtmlCanvas>>navigationBar

Debug Proceed Full Stack
Possible Causes

     you sent a message this type of object doesn't understand

Stack Trace

     thisContext
         WAHtmlCanvas(Object)>>doesNotUnderstand: #navigationBar
     self
         a WAHtmlCanvas

     thisContext
         VIHeaderComponent>>renderContentOn:
     self
         a VIHeaderComponent

     thisContext
         WARenderVisitor>>visitPainter:
     self
         a WARenderVisitor

     thisContext
         WARenderVisitor(WAPainterVisitor)>>visitPresenter:
     self
         a WARenderVisitor

     thisContext
         WARenderVisitor(WAPainterVisitor)>>visitComponent:
     self
         a WARenderVisitor

----

When using Finder to locate the selector, navigationBar, I notice that it is a 
selector of SBSHtmlCanvas.

So my question is: How to I set up my rendering class in seaside properly?  
Currently, as per all I can find I am properly using WAComponent as application 
super class.

I don't see anything in the seaside book regarding bootstrap and I am fallowing 
the MOOC section on bootstrap almost to a tee.  Accepting the fact that the 
library is now SBSDeploymentLibrary rather than TBSDeploymentLibrary.

Any help would be greatly appreciated.

Kindly,

Ian



--
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchel          mailto:jtuc...@objektfabrik.de
Fliederweg 1                         http://www.objektfabrik.de
D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1



Reply via email to