Fearless Fool wrote:
> Marnen Laibow-Koser wrote:
>>> ...
>> No.  The basic 7 REST actions are common, not gospel.  There's nothing 
>> wrong with making plot a custom REST action (route would be the same as 
>> above, but on the same footing with domain/:domain_id/edit ).
> 
> If I understand correctly, when you say "on the same footing with 
> domain/:domain_id/edit", you are recommending adding new actions to 
> DomainController beyond the RESTful seven,

Beyond the *common* RESTful 7.  Again, those actions are common, but not 
exhaustive.

> so we might have 
> domain/:domain_id/plot or domain/:domain_id/report -- is this what you 
> meant?

Yes.

> 
>> And please: use shallow routes.  There's probably no reason to have the 
>> user_id in the domain path.
> 
> In this (slightly contrived) example, specific domains belong to 
> individual users, so the user/:user_id/domain/:domain_id seems 
> appropriate.  (If you disagree, take a look at 
> http://www.ruby-forum.com/topic/208631 and let me know if I've been 
> mis-informed... :)

Domains belong to users, but since the domain already knows whom it 
belongs to, there's usually no reason to put that information in the 
path and make longer URLs.

> 
>>> Also, the app calls for radically different page layouts depending on
>>> selected display style (e.g. plot vs table view) -- can one controller
>>> invoke multiple views?  Or must you create one controller per view?
>> 
>> What do you mean here?
> 
> The user can choose between viewing the data in tabular form or as a 
> plot, but the .erb code that generates those are radically different.  

(Aside: get into the habit of using Haml, not ERb.)

> I 
> think @Sharagoz answered my question here: the controller can select a 
> "table" template or a "plot" template accordingly.  (That was news to 
> me.)

It can, but usually if you want different view files, you probably have 
things that should be different controller actions.

> 
>>> And finally, would you back the controller with a Plot model? ...
>>
>> You don't have to have a model for each controller.  You don't have to 
>> have a controller for each model.  You don't have to have a database 
>> table for each model.
> 
> Noted.  @Sharagoz pointed that out as well.
> 
> Thanks both!
> 
> - ff

Best,
--
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to