Turns out this is a lot cleaner, and doesn't require explicit 
collections of the set of options.

    show_columns = active_scaffold_config.show.columns
    invoice.filename? ? show_columns.add(:filename) : 
show_columns.remove(:filename)

See: http://activescaffold.com/tutorials/per-request-configuration for more.

Wes

Wes Gamble wrote:
> All,
>
> I have two contexts in which I create an object whose controller is 
> AS-enabled.  In one context, there will be an attribute ("filename") 
> that has a value and in the other, this attribute will not have a 
> value.  I want the "show" template to not show the "filename" attribute 
> if it doesn't have a value.
>
> I considered moving the AS "show" template into my specific view folder 
> and modifying it there, but wanted a way to do it via the configuration.
>
> What I ended up with was this:
>  
>    def show
>     ....
>      self.class.active_scaffold :invoices do |config|
>        config.show.columns = invoice.filename? ? DEFAULT_COLUMNS : 
> NON_FILENAME_COLUMNS
>       end
>    end
>
> in my "show" action.  DEFAULT_COLUMNS and NON_FILENAME_COLUMNS differ 
> only by the key :filename.
>
> This works fine.  However, I did notice that when I do this within the 
> "show" action, that it appears to completely redefine the configuration.
>
> So I have 2 questions:
>
> 1) Is there a way to "reopen" the controller wide AS config. and just 
> override/change the parts I want to?
> 2) Is there a bettter way in general to do this that is less clunky?
>
> Thanks,
> Wes
>
>
>
>
>
> >
>
>   

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"ActiveScaffold : Ruby on Rails plugin" 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/activescaffold?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to