Hi folks!
Disclaimer: This is an ugly hack.
I customer wanted to hard override the state value in an Hobo Lifecycle
without running the action.
Hobo protects this by setting :state as an protected attribute.
I was almost ready to remove the life cycle all together, but ... read on!
So even setting
class Category < ActiveRecord::Base
hobo_model
...
attr_accessible :state
wouldn't help, unless - and that's the dirty part, you remove :state from
attr_protected by
Category.attr_protected[:default] =
> Category.attr_protected[:default].subtract(["state"])
end
at the very end of the model declaration.
Then it's pretty straight forward to get a drop down in the edit view:
<extend tag="form" for="Category">
<field-list: fields='... state...'>
<state-view:>
> <select-menu name="category[state]"
>
> options="&Category::Lifecycle.states.*[0].map {|state|
> [I18n.t('activerecord.attributes.category.lifecycle.states.' + state.to_s),
> state.to_s] }" />
> </state-view:>
If you don't care about translations, the options are just
>
> options="&Category::Lifecycle.states.*[0]" />
It's ugly, but it saved me some hours and I can use the transitions in the
application as usual.
Ciao,
Stefan
--
You received this message because you are subscribed to the Google Groups "Hobo
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/hobousers.
For more options, visit https://groups.google.com/d/optout.