admin_pages_home GET /admin_pages/home(.:format)
admin_pages#home
In one of my views, I have a link to admin_pages_home_path, and clicking
on this link indeed works and renders admin_pages/home.html.erb, as we
can see from the logfile:
Started GET “/admin_pages/home” for 127.0.0.1 at 2014-09-08 15:32:41
+0200
Processing by AdminPagesController#home as HTML
Rendered admin_pages/home.html.erb within layouts/application (7.6ms)
Now, the weird thing here is that I had forgotten to define a home()
function in AdminPagesController (and I also didn’t put one in
ApplicationController). Actually, the only other home method I have is
in a completely unrelated controller.
I wonder how it can be, that clicking on the admin_pages_home_path link,
didn’t raise an exception.
BTW, I have of course meanwhile added the missing home function, and
could verify that it is called.
Its not necessary to have declare an action in a controller for a
particular view. If you look at MVC ( Model - View - Controller ). You
only
have to declare an action if you want to initialize an object which the
view would use.
eg:
posts -> index action
@posts = Post.all
It is a good practice to declare all your objects in the action and use
them in your views although you can still declare you objects in your
views
this way