Hey all,
Does any have suggestions to whether I should create a controller for
every web page on my site or just create an action for every web page in
same controller if those actions will never require database calls? It
doesn’t make sense to create a controller/model for a single web page if
it isn’;t going to require sql. However, I do need the url to actual
show the different page just as in any site. So I’m just curious what
are best practices to approach this. Thanks for any response.
write the function @ application_controller that can be access in any
controller.
for more info read abt application controller doc.
nirosh
nirosh wrote:
write the function @ application_controller that can be access in any
controller.
for more info read abt application controller doc.nirosh
Hey thanks for the response.
What about the image paths. This is in css and it’s not linking to the
images folder:
background: #b8e5d1 url(/public/images/mastgrad.png) top left no-repeat;
public/images incorrect path? I don’t understand because it looks like
thats the path structure in my app.
On Sun, May 23, 2010 at 5:07 AM, John M. [email protected]
wrote:
nirosh wrote:
write the function @ application_controller that can be access in any
controller.
for more info read abt application controller doc.
Or create a utility controller, call it “home” or whatever, that handles
all the non-model pages you need. That’s pretty typical.
What about the image paths. This is in css and it’s not linking to the
images folder:
background: #b8e5d1 url(/public/images/mastgrad.png) top left no-repeat;public/images incorrect path? I don’t understand because it looks like
thats the path structure in my app.
“public” is the root directory of all the static resources – so you
only
want to use background: #b8e5d1 url( /images/mastgrad.png ) ...
HTH,
Hassan S. ------------------------ [email protected]
twitter: @hassan
John M. wrote:
Hey all,
Does any have suggestions to whether I should create a controller for
every web page on my site or just create an action for every web page in
same controller if those actions will never require database calls?
Do neither. Use a single controller action for your static pages, and
give it the name of the page as a parameter.
It
doesn’t make sense to create a controller/model for a single web page if
it isn’;t going to require sql.
That’s poor reasoning.
However, I do need the url to actual
show the different page just as in any site. So I’m just curious what
are best practices to approach this. Thanks for any response.
You can use routing to make the URLs be anything you like.
Best,
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
I understand the idea of having apache serving static content but
anyways what do you think about this as i am with similar question in
mind.
#controller
class HomeController < ApplicationController
def index
page = params[‘page’]
if page
begin
render "page_views/" + page
rescue ActionView::MissingTemplate
render "errors/404.html", :status=> 404
end
end
end
end
#router as the last 2 lines after all options have been excluded
match ‘/:page’ => ‘home#index’ , :as=> :page
root :to => “home#index”
Would this be good practice?
Might be raw but it does the job for my needs.
What you think folks
On Sun, May 23, 2010 at 9:12 AM, Marnen Laibow-Koser
[email protected]wrote:
John M. wrote:
Hey all,
Does any have suggestions to whether I should create a controller for
every web page on my site or just create an action for every web page in
same controller if those actions will never require database calls?Do neither. Use a single controller action for your static pages, and
give it the name of the page as a parameter.
If the OP is, in fact, talking about static pages, you might consider,
for
performance reasons, putting them in a structure under /public and
letting
Apache, et.al. deliver them without the involvement of mongrel /
passenger /
your rails app.
HTH,
Bill
I understand the idea of having apache serving static content but
anyways what do you think about this as i am with similar question in
mind.
#controller
class HomeController < ApplicationController
def index
page = params[‘page’]
if page
begin
# page var is the same as the name of my "page.html.erb" as in
about.html.erb to process a param with value about etc…
render “page_views/” + page
rescue ActionView::MissingTemplate
render "errors/404.html", :status=> 404
end
end
end
end
#end of class
#router as the last 2 lines after all options have been excluded
match ‘/:page’ => ‘home#index’ , :as=> :page
root :to => “home#index”
Would this be good practice?
Might be raw but it does the job for my needs.
What you think folks