SitePoint Sponsor |
|
User Tag List
Results 1 to 7 of 7
Thread: Rails: Layouts & Search/Sort
Hybrid View
-
Jul 6, 2006, 13:23 #1
- Join Date
- Mar 2004
- Location
- Toronto, Canada
- Posts
- 326
- Mentioned
- 0 Post(s)
- Tagged
- 0 Thread(s)
Rails: Layouts & Search/Sort
Three questions for you all...
1.
Code:def index list render :action => 'list' end
2. I have an admin section to a site I'm building. Here's the pertinent
bit of the layout that all controllers are using:
Code:<div id="main-content"> <%= @content_for_layout %> </div> <div id="sidebar"> </div>
as new, edit, list etc. My problem is that for each controller I want a
specific chunk of content to show up in the sidebar. How can I
accomplish this without altering the layout to look something like this:
Code:<div id="main-content"> <%= @content_for_layout %> </div> <div id="sidebar"> <% if @controller.controller_name == 'news' %><%= render(:partial => "news_sidebar") %><% end %> <% if @controller.controller_name == 'users' %><%= render(:partial => "users_sidebar") %><% end %> <% if @controller.controller_name == 'links' %><%= render(:partial => "links_sidebar") %><% end %> </div>
that takes the controller name as an argument? Other suggestions?
3. I'm used to building searches and sorting mechanisms with PHP that
analyze a $_GET request and display data based on those parametrs. URLs
end up looking like:
Code:http://example.com/search.php&order=desc&category=foo&author=fred
someone provide some code for me to look at that does just this? I'm
very much a learn by seeing kind of guy and would greatly appreciate it.
Thanks.
-
Jul 6, 2006, 13:37 #2
For #2, you can do something like this:
Code:<% current_sidebar = controller.controller_name + "_sidebar" %> <%= render :partial => current_sidebar %>
For #3, the params[] hash is the equivalent of $_GET. Or are you talking about how you'd construct that query?
-
Jul 6, 2006, 13:49 #3
- Join Date
- Mar 2004
- Location
- Toronto, Canada
- Posts
- 326
- Mentioned
- 0 Post(s)
- Tagged
- 0 Thread(s)
Originally Posted by vgarcia
-
Jul 6, 2006, 13:57 #4
#1, index is an alias for the list action; the solitary "list" is a call to the list method, followed by a call to render the view for the list action.
-
Jul 6, 2006, 14:03 #5
- Join Date
- Mar 2004
- Location
- Toronto, Canada
- Posts
- 326
- Mentioned
- 0 Post(s)
- Tagged
- 0 Thread(s)
Originally Posted by 33degrees
-
Jul 7, 2006, 05:33 #6
For your sidebar content, you could use content_for:
Code:# layout file <div id="sidebar"> <%= yield :sidebar %> </div> # in any of your views <% content_for(:sidebar) do %> everything in here will get inserted into your sidebar div <% end %>
-
Jul 7, 2006, 05:54 #7
- Join Date
- Mar 2004
- Location
- Toronto, Canada
- Posts
- 326
- Mentioned
- 0 Post(s)
- Tagged
- 0 Thread(s)
Originally Posted by Luke Redpath
Bookmarks