How do I regain freedom in Rails 3 so I can add what ever actions I want
with as little hassle as possible? Is there a way to do this instead of
having to declare it per action.
On 18 December 2010 16:42, Paul B. [email protected] wrote:
How do I regain freedom in Rails 3 so I can add what ever actions I want
with as little hassle as possible? Is there a way to do this instead of
having to declare it per action.
Have a look at the Rails Guide on routing. You have not really
explained what you are trying to do but I am guessing that section
3.1 may be what you want.
Colin
Colin L. wrote in post #969281:
Have a look at the Rails Guide on routing. You have not really
explained what you are trying to do but I am guessing that section
3.1 may be what you want.Colin
I would like to be able to add any action I want. If I add a resources
:test and have a controller called test and an action test I get “The
action ‘show’ could not be found for TestController”
Paul B. wrote in post #969317:
Colin L. wrote in post #969281:
Have a look at the Rails Guide on routing. You have not really
explained what you are trying to do but I am guessing that section
3.1 may be what you want.Colin
I would like to be able to add any action I want. If I add a resources
:test and have a controller called test and an action test I get “The
action ‘show’ could not be found for TestController”
Is test a reserved word in Rails 3?
Best,
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
Sent from my iPhone
Marnen Laibow-Koser wrote in post #969319:
Paul B. wrote in post #969317:
Is test a reserved word in Rails 3?
?
How do I deal with a page called “overview” that displays information
from many models at the same time?
How do I deal with a page called “me” that displays information about
the user? I can see the benefit of routes in a basic database app with
list, view, edit, show. But I don’t understand the logic for examples
like mine. In my case it will make much more sense for the user to go to
a page called “me” than “user/2”.
On 19 December 2010 09:33, Paul B. [email protected] wrote:
How do I deal with a page called “overview” that displays information
from many models at the same time?
There does not have to be one to one relationship between controllers
and models. A controller can get data from as many models as it
likes. You could have an overview controller if that seems
appropriate. If the data from the various models is displayed on
different areas of the screen then use a partial for each section.
How do I deal with a page called “me” that displays information about
the user? I can see the benefit of routes in a basic database app with
list, view, edit, show. But I don’t understand the logic for examples
like mine. In my case it will make much more sense for the user to go to
a page called “me” than “user/2”.
What do you mean ‘a page called me’? Do you mean the URL? If so how
would you know which user to show for that url?
Colin
On 19 December 2010 09:33, Paul B. [email protected] wrote:
How do I deal with a page called “me” that displays information about
the user? I can see the benefit of routes in a basic database app with
list, view, edit, show. But I don’t understand the logic for examples
like mine. In my case it will make much more sense for the user to go to
a page called “me” than “user/2”.
routes.rb
map.me ‘me’, :controller => ‘users’, :action => ‘display_current_user’
UsersController
def display_current_user
@user = current_user # assuming you do have a current_user method
… [rest of action code]
end
…which gives you access to “me_path” and all the other routes
helping malarkey.
Colin L. wrote in post #969381:
What do you mean ‘a page called me’? Do you mean the URL? If so how
would you know which user to show for that url?
Yes. The url. From the session id.
On 19 December 2010 09:45, Paul B. [email protected] wrote:
Colin L. wrote in post #969381:
What do you mean ‘a page called me’? Do you mean the URL? If so how
would you know which user to show for that url?Yes. The url. From the session id.
Does Michael’s post answer that one?
Colin
Michael P. wrote in post #969380:
e called “me” than “user/2”.
routes.rb
map.me ‘me’, :controller => ‘users’, :action => ‘display_current_user’
Should’t that be match?
On 20 December 2010 15:23, Paul B. [email protected] wrote:
Michael P. wrote in post #969380:
e called “me” than “user/2”.routes.rb
map.me ‘me’, :controller => ‘users’, :action => ‘display_current_user’
Should’t that be match?
I wrote it off the top of my head, so you could be right. But it also
depends what version of Rails the OP has to what routing commands he
can use… but the general gist is that he should be able to achieve
what he wants with routes…
strange, what you are asking is easier in rails 3 than 2.
I added this:
match ‘:controller(/:action(/:id(.:format)))’
and it did the trick. I think.