I'd like to use a frameset to separate the content in an app I'm playing with into 3 separate panes. A 1/3 page width left pane will be for general navigation, (so rarely needs reloading). The main content separates into a top and bottom pane, (with the top pane being set by the nav pane, and the bottom pane being set by the top pane). Unfortunately, I'm new to Rails and haven't the faintest idea how I can get Rails to parse the frame content for each pane! Can anyone offer any suggestions? Thanks.
on 2006-06-06 03:05
on 2006-06-06 03:13
Oh, I'm trying to specify the frameset in application.rhtml in the layouts dir. The frameset is roughly as follows: <frameset> <frame name="nav_pane" src="??" scrolling=yes> <framset id=data_wrapper rows="*,*" frameborder=yes framespacing=5> <frame name="top_pane" src="??" scrolling=yes> <frame name="bottom_pane" src="??" scrolling=no> </frameset> </frameset>
on 2006-06-06 03:15
It would probably be a lot easier to use CSS to make the data appear where you want it to. It isn't too hard to use css to do a 3 panel setup, easier than frames and more modern. A book I found good for learning basic CSS is "Stylin' with CSS". You may want to check that out. ~Jamie
on 2006-06-06 03:50
Yeah, I'm sure you're right. Unfortunately, I'm pretty new to CSS too - I usually leave the UI stuff to professional designers! Also, I'm just playing with Rails at the moment. I did manage to get something working by adding a 'Nav' controller with a 'boot' method. The associated .rhtml file then sets the src attrib. of each frame using url_for. Is this an abuse of MVC or Rails?
on 2006-06-06 07:47
Craig McDonnell wrote: > </frameset> > </frameset> > Does your question boil down to what to replace "???" with? Replace them with the urls (absolute or relative) of the thing being framed. So assuming a nav controller with an index view and a data controller with list and summary views, you'd have <frameset> <frame name="nav_pane" src="/nav" scrolling=yes> <framset id=data_wrapper rows="*,*" frameborder=yes framespacing=5> <frame name="top_pane" src="/data/list" scrolling=yes> <frame name="bottom_pane" src="/data/summary" scrolling=no> </frameset> </frameset> The links in the frames could do the normal html tricks like targeting other frames, etc. -- Ray
on 2006-06-06 12:36