You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Brad Fults edited this page Oct 18, 2011
·
1 revision
Boxes are really just anonymous classes, so you can define any methods you
want inside of a box without fear of them leaking out into the current
namespace.
For instance:
Boxer.box(:place) do |box, place|
box.view(:base) do
{
:name => place.name,
:image_urls => place_images(place),
}
end
def place_images(p)
{
:square_100 => p.image(:small),
:square_200 => p.image(:large),
}
end
end
Defining methods like this can be helpful for sharing common bits across
different views, or just encapsulating some shared attributes. As a matter of
code organization, it's not recommended that any business logic take place in
these methods, but that they call out to model methods with business logic
instead.