Jacob,

Looks like a good step in the right direction.  I like your use of 
association extensions.  However, wouldn't it just be easier to do:

Page.new(params[:page])

or

@page.update_attributes(params[:page])

and not have to call update_associations?

Generally the strategy if you take this route is to make an 
attr(_writer/_accessor) with the desired name, then an after_save 
callback that saves the associated models.

Sean

Jacob Burkhart wrote:
> Hi,
>
> I've started to do some refactoring/improvment of the strucutre of
> page, page_controller, and page_parts.  And I plan on continuing in a
> similar vein with admin/page/edit.rhtml
>
> The goal of this particular iteration, is to make it possible for Page
> subclasses or extensions of the Page class to add has_many,
> belongs_to, or has_one etc.. relations to Page and NOT have to modify
> page_controller.  Since PageParts is a has_many of Page, I have moved
> all of the logic related to the saving of page parts into an
> association extension.  Page is setup to discover all association
> extensions that respond to :update_association and pass parameters to
> and save these association appropriately.
>
> http://dev.radiantcms.org/radiant/attachment/ticket/508/page_controller_refactor.diff
> Please give me feedback on the direction I'm going!
>
> thanks,
> Jacob
> _______________________________________________
> Radiant mailing list
> Post:   [email protected]
> Search: http://radiantcms.org/mailing-list/search/
> Site:   http://lists.radiantcms.org/mailman/listinfo/radiant
>
>   

_______________________________________________
Radiant mailing list
Post:   [email protected]
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

Reply via email to